<SEC-DOCUMENT>0001437749-23-004153.txt : 20230222
<SEC-HEADER>0001437749-23-004153.hdr.sgml : 20230222
<ACCEPTANCE-DATETIME>20230222161934
ACCESSION NUMBER:		0001437749-23-004153
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		123
CONFORMED PERIOD OF REPORT:	20221231
FILED AS OF DATE:		20230222
DATE AS OF CHANGE:		20230222

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			GENERAC HOLDINGS INC.
		CENTRAL INDEX KEY:			0001474735
		STANDARD INDUSTRIAL CLASSIFICATION:	MOTORS & GENERATORS [3621]
		IRS NUMBER:				205654756
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-34627
		FILM NUMBER:		23653400

	BUSINESS ADDRESS:	
		STREET 1:		S45 W29290 HIGHWAY 59
		CITY:			WAUKESHA
		STATE:			WI
		ZIP:			53187
		BUSINESS PHONE:		888 436-3722

	MAIL ADDRESS:	
		STREET 1:		S45 W29290 HIGHWAY 59
		CITY:			WAUKESHA
		STATE:			WI
		ZIP:			53187
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>gnrc20221231_10k.htm
<DESCRIPTION>FORM 10-K
<TEXT>
<XBRL>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:naics="http://xbrl.sec.gov/naics/2022" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:us-types="http://fasb.org/us-types/2017-01-31" xmlns:srt-types="http://fasb.org/srt-types/2017-01-31" xmlns:utreg="http://www.xbrl.org/2009/utr" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:us-roles="http://fasb.org/us-roles/2017-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2022" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:thunderdome="http://www.RDGFilings.com" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:gnrc="http://www.generac.com/20221231" xmlns:srt="http://fasb.org/srt/2022" xmlns:currency="http://xbrl.sec.gov/currency/2022" xmlns:sic="http://xbrl.sec.gov/sic/2022" xmlns:exch="http://xbrl.sec.gov/exch/2022" xmlns:country="http://xbrl.sec.gov/country/2022" xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:rr="http://xbrl.sec.gov/rr/2022" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21">
 <head>
  <title>gnrc20221231_10k.htm</title>
  <!-- Generated by ThunderDome Portal - 2/22/2023 5:27:46 PM -->
  <meta http-equiv="Content-Type" content="text/html" /></head>
 <body style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0in 0.1in; cursor: auto;"><div style="display: none;"><ix:header><ix:hidden>
<ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="dei:EntityCentralIndexKey" id="thunderdome-EntityCentralIndexKey">0001474735</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="dei:EntityRegistrantName" id="thunderdome-EntityRegistrantName">GENERAC HOLDINGS INC.</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="dei:AmendmentFlag" format="ixt:booleanfalse">false</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="dei:CurrentFiscalYearEndDate">--12-31</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="dei:DocumentFiscalPeriodFocus">FY</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="dei:DocumentFiscalYearFocus">2022</ix:nonNumeric>
<ix:nonFraction id="c93262644" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">27,664</ix:nonFraction>
<ix:nonFraction id="c93262645" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">12,025</ix:nonFraction>
<ix:nonFraction id="c93262699" contextRef="i_2022-12-31" unitRef="USDPerShare" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" format="ixt:numdotdecimal" decimals="INF">0.01</ix:nonFraction>
<ix:nonFraction id="c93262700" contextRef="i_2021-12-31" unitRef="USDPerShare" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" format="ixt:numdotdecimal" decimals="INF">0.01</ix:nonFraction>
<ix:nonFraction id="c93262701" contextRef="i_2022-12-31" unitRef="Share" name="us-gaap:CommonStockSharesAuthorized" scale="0" format="ixt:numdotdecimal" decimals="INF">500,000,000</ix:nonFraction>
<ix:nonFraction id="c93262702" contextRef="i_2021-12-31" unitRef="Share" name="us-gaap:CommonStockSharesAuthorized" scale="0" format="ixt:numdotdecimal" decimals="INF">500,000,000</ix:nonFraction>
<ix:nonFraction id="c93262703" contextRef="i_2022-12-31" unitRef="Share" name="us-gaap:CommonStockSharesIssued" scale="0" format="ixt:numdotdecimal" decimals="INF">72,701,257</ix:nonFraction>
<ix:nonFraction id="c93262704" contextRef="i_2021-12-31" unitRef="Share" name="us-gaap:CommonStockSharesIssued" scale="0" format="ixt:numdotdecimal" decimals="INF">72,386,017</ix:nonFraction>
<ix:nonFraction id="c93262709" contextRef="i_2022-12-31" unitRef="Share" name="us-gaap:TreasuryStockShares" scale="0" format="ixt:numdotdecimal" decimals="INF">11,284,350</ix:nonFraction>
<ix:nonFraction id="c93262710" contextRef="i_2021-12-31" unitRef="Share" name="us-gaap:TreasuryStockShares" scale="0" format="ixt:numdotdecimal" decimals="INF">8,667,031</ix:nonFraction>
<ix:nonFraction id="c93262930" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">4,826</ix:nonFraction>
<ix:nonFraction id="c93263040" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax" scale="3" format="ixt:numdotdecimal" decimals="-3">6,933</ix:nonFraction>
<ix:nonFraction id="c93263172" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax" scale="3" format="ixt:numdotdecimal" decimals="-3">12,858</ix:nonFraction>
<ix:nonFraction id="c93263446" contextRef="d_2020-01-01_2020-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember" unitRef="Pure" name="gnrc:NumberOfMajorCustomers" scale="0" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c93263449" contextRef="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember" unitRef="Pure" name="gnrc:NumberOfMajorCustomers" scale="0" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c93263452" contextRef="d_2022-01-01_2022-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember" unitRef="Pure" name="gnrc:NumberOfMajorCustomers" scale="0" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c93263514" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:GoodwillAndIntangibleAssetImpairment" scale="3" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c93263515" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:GoodwillAndIntangibleAssetImpairment" scale="3" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c93263516" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:GoodwillAndIntangibleAssetImpairment" scale="3" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c93263527" contextRef="i_2022-12-31" unitRef="USD" name="gnrc:DeferredCostsAmortizationExpenseNextTwelveMonths" scale="3" format="ixt:numdotdecimal" decimals="-3">3,885</ix:nonFraction>
<ix:nonFraction id="c93263529" contextRef="i_2022-12-31" unitRef="USD" name="gnrc:DeferredCostsAmortizationExpenseYearTwo" scale="3" format="ixt:numdotdecimal" decimals="-3">3,923</ix:nonFraction>
<ix:nonFraction id="c93263531" contextRef="i_2022-12-31" unitRef="USD" name="gnrc:DeferredCostsAmortizationExpenseYearThree" scale="3" format="ixt:numdotdecimal" decimals="-3">3,919</ix:nonFraction>
<ix:nonFraction id="c93263533" contextRef="i_2022-12-31" unitRef="USD" name="gnrc:DeferredCostsAmortizationExpenseYearFour" scale="3" format="ixt:numdotdecimal" decimals="-3">3,819</ix:nonFraction>
<ix:nonFraction id="c93263535" contextRef="i_2022-12-31" unitRef="USD" name="gnrc:DeferredCostsAmortizationExpenseYearFive" scale="3" format="ixt:numdotdecimal" decimals="-3">1,028</ix:nonFraction>
<ix:nonNumeric contextRef="d_2019-02-01_2019-02-28_BusinessAcquisitionAxis-PramacMember" name="gnrc:NoncontrollingInterestAgreementExtensionOfTerm" id="c93263915" format="ixt-sec:duryear">5</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2021-05-01_2021-05-31_BusinessAcquisitionAxis-PramacMember" name="gnrc:NoncontrollingInterestAgreementExtensionOfTerm" id="c93263922" format="ixt-sec:duryear">2</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2019-02-01_2019-02-01_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember" name="gnrc:BusinessAcquisitionNoncontrollingInterestTermOfPutOption" id="c93263927" format="ixt-sec:duryear">5</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2019-02-01_2019-02-01_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember" name="gnrc:BusinessAcquisitionNoncontrollingInterestTermOfPutOption" id="c93263928" format="ixt-sec:duryear">5</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2019-02-01_2019-02-01_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember" name="gnrc:BusinessAcquisitionTermOfCallOption" id="c93263934" format="ixt-sec:duryear">5</ix:nonNumeric>
<ix:nonFraction id="c93263965" contextRef="i_2021-12-31_DerivativeInstrumentRiskAxis-CommodityContractMember" unitRef="Pure" name="us-gaap:DerivativeNumberOfInstrumentsHeld" scale="0" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c93263974" contextRef="i_2022-12-31_DerivativeInstrumentRiskAxis-ForeignExchangeContractMember" unitRef="Pure" name="us-gaap:DerivativeNumberOfInstrumentsHeld" scale="0" format="ixt:numdotdecimal" decimals="INF">34</ix:nonFraction>
<ix:nonFraction id="c93263975" contextRef="i_2021-12-31_DerivativeInstrumentRiskAxis-ForeignExchangeContractMember" unitRef="Pure" name="us-gaap:DerivativeNumberOfInstrumentsHeld" scale="0" format="ixt:numdotdecimal" decimals="INF">11</ix:nonFraction>
<ix:nonFraction id="c93263985" contextRef="d_2017-01-01_2017-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember" unitRef="Pure" name="gnrc:NumberOfNewContractsEntered" scale="0" format="ixt:numdotdecimal" decimals="INF">20</ix:nonFraction>
<ix:nonFraction id="c93263987" contextRef="d_2020-03-01_2020-03-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember" unitRef="Pure" name="gnrc:NumberOfNewContractsEntered" scale="0" format="ixt:numdotdecimal" decimals="INF">3</ix:nonFraction>
<ix:nonFraction id="c93263988" contextRef="d_2022-01-01_2022-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember" unitRef="Pure" name="gnrc:NumberOfNewContractsEntered" scale="0" format="ixt:numdotdecimal" decimals="INF">7</ix:nonFraction>
<ix:nonFraction id="c93264001" contextRef="i_2021-12-31_DerivativeInstrumentRiskAxis-ForeignExchangeContractMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member" unitRef="USD" name="us-gaap:DerivativeFairValueOfDerivativeNet" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">36</ix:nonFraction>
<ix:nonFraction id="c93264071" contextRef="d_2022-01-01_2022-12-31" unitRef="Pure" name="us-gaap:NumberOfReportableSegments" scale="0" format="ixt:numdotdecimal" decimals="INF">2</ix:nonFraction>
<ix:nonFraction id="c93264359" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" scale="3" format="ixt:numdotdecimal" decimals="-3">99,512</ix:nonFraction>
<ix:nonFraction id="c93264361" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" scale="3" format="ixt:numdotdecimal" decimals="-4">94,070</ix:nonFraction>
<ix:nonFraction id="c93264363" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" scale="3" format="ixt:numdotdecimal" decimals="-3">89,561</ix:nonFraction>
<ix:nonFraction id="c93264365" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" scale="3" format="ixt:numdotdecimal" decimals="-3">82,392</ix:nonFraction>
<ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_RangeAxis-MinimumMember" name="gnrc:ExtendedWarrantyTerm" id="c93264605" format="ixt-sec:duryear">5</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_RangeAxis-MaximumMember" name="gnrc:ExtendedWarrantyTerm" id="c93264606" format="ixt-sec:duryear">10</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-01-01" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="c93264675" format="ixt-sec:duryear">1</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2024-01-01" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="c93264677" format="ixt-sec:duryear">1</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2025-01-01" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="c93264679" format="ixt-sec:duryear">1</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2026-01-01" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="c93264681" format="ixt-sec:duryear">1</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2027-01-01" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="c93264683" format="ixt-sec:duryear">1</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2022-06-30_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember" name="us-gaap:LongTermDebtMaturityDate" id="c93264783" format="ixt:datemonthdayyearen">June 29, 2027</ix:nonNumeric>
<ix:nonFraction id="c93264850" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="Share" name="gnrc:SharesAcquiredUnderStockRepurchasesProgramShares" scale="0" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c93264865" contextRef="d_2020-01-01_2020-12-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c93265016" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredTaxLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">112,945</ix:nonFraction>
<ix:nonFraction id="c93265017" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredTaxLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">190,223</ix:nonFraction>
<ix:nonNumeric contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="c93265126" format="ixt-sec:duryear">4</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" id="c93265127" format="ixt-sec:duryear">10</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-RestrictedStockMember" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="c93265161" format="ixt-sec:duryear">3</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-PerformanceSharesMember" name="gnrc:SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod" id="c93265162" format="ixt-sec:duryear">3</ix:nonNumeric>
<ix:footnote xml:lang="en-us" id="f5e016294-150a-4ae5-a727-025b102a81a0">Recorded in the operating lease and other long-term liabilities line within the consolidated balance sheets</ix:footnote>
<ix:footnote xml:lang="en-us" id="fb18cee12-a7a4-40be-9905-5cda022cf939">Represents the non-cash write-off of original issue discount and deferred financing costs due primarily to a voluntary prepayment of debt.</ix:footnote>
<ix:footnote xml:lang="en-us" id="fc5365044-346f-4fbc-acfb-61cf69abe0c9">Includes additional intangible amortization from the effect of all acquisitions as though the transactions had occurred on January 1, 2019 of $63,524, $78,840, and
$83,100 million for the years ended December 31, 2021, 2020, and 2019, respectively</ix:footnote>
<ix:footnote xml:lang="en-us" id="f312fba7d-f4bb-49de-b685-08ef99e45ef5">Represents unrealized gains of $51,352 on the interest rate swaps, net of tax effect of $(12,858) for the year ended December 31, 2022.</ix:footnote>
<ix:footnote xml:lang="en-us" id="f6b84cec0-7900-429d-93ff-a2868efd6b8f">Represents transaction costs incurred directly in connection with any investment, as defined in our credit agreement, equity issuance, debt issuance, or refinancing, together with certain fees relating to our senior secured credit facilities.</ix:footnote>
<ix:footnote xml:lang="en-us" id="fa2c09e17-f638-4acb-8bb2-883a4c929b89">For the year-ended December 31, 2022, predominantly represents severance and other restructuring charges related to the suspension of operations at certain of our facilities. For the year-ended December 31, 2020, represents severance, non-cash asset write-downs and other charges to address the impact of the COVID-19 pandemic and decline in oil prices on demand for C&amp;I products. These charges represent expenses that are nonrecurring and do not reflect our ongoing operations.</ix:footnote>
<ix:footnote xml:lang="en-us" id="fdeb04e65-421c-4a58-9698-0bc9e7fa5d82">Includes payments of $16,135 in cash for the Off Grid acquisition, $47,123 in shares of common stock for the ecobee acquisition, and $542 in cash for the ecobee acquisition. The payment of common stock is accounted for as a non-cash item in the consolidated statement of cash flows.</ix:footnote>
<ix:footnote xml:lang="en-us" id="f56eb4834-92f3-4631-b467-3701ddb41bdd">Recorded in the other accrued liabilities line within the consolidated balance sheets</ix:footnote>
<ix:footnote xml:lang="en-us" id="f31c229ae-c828-4a30-a133-512728d60f92">Includes a specific warranty provision recorded during the third quarter of 2022 in the amount of $37,338 to address certain clean energy product related matters. </ix:footnote>
<ix:footnote xml:lang="en-us" id="ff4f9bfeb-b769-416d-9ce6-aa03be128d42">Represents a specific credit loss provision of $17,926 for a clean energy product customer that filed for bankruptcy, as well as a warranty provision of $37,338 to address certain clean energy product warranty-related matters and a provision of $10,000 for a specific and unresolved regulatory matter with the Consumer Product Safety Commission.</ix:footnote>
<ix:footnote xml:lang="en-us" id="fb5dd7e47-7023-4701-9629-66cf5eb332ba">Recorded in the operating lease and other assets line within the consolidated balance sheets</ix:footnote>
<ix:footnote xml:lang="en-us" id="f2cf9cef8-7dc5-4f1c-8b0d-89ab34ba0b9b">Includes a specific credit loss provision of $17,926 recorded during the third quarter of 2022 for a clean energy product customer that filed for bankruptcy.</ix:footnote>
<ix:footnote xml:lang="en-us" id="f7c254218-9ef7-400c-8496-e4d14cacfca4"> 	Payable on the third business day after December 31, 2023.</ix:footnote>
<ix:footnote xml:lang="en-us" id="fba5d46e3-9355-4452-bfc1-77d763b7aaff">With the adoption of ASU 2016-09 in 2017, excess tax benefits from equity awards are reflected within the provision for income taxes rather than within the consolidated balance sheet.</ix:footnote>
<ix:footnote xml:lang="en-us" id="f5469e934-4b9c-4cd7-b312-876268feebe2">Represents share-based compensation expense to account for stock options, restricted stock and other stock awards over their respective vesting periods.</ix:footnote>
<ix:footnote xml:lang="en-us" id="f49b0d742-1259-449e-818b-eec6501a3d26">Represents unrealized gains of $27,462 on the interest rate swaps, net of tax effect of $(6,933) for the year ended December 31, 2021.</ix:footnote>
<ix:footnote xml:lang="en-us" id="f8731c487-8b46-4be3-a7e0-3812d75b8753">Includes gains/losses on disposals of assets and sales of certain investments, unrealized mark-to-market adjustments on commodity contracts, certain foreign currency related adjustments, and certain purchase accounting and contingent consideration adjustments.</ix:footnote>
<ix:footnote xml:lang="en-us" id="fc2d23afd-943b-4cfc-abaf-f5e1100be847">Result of adopting ASU 2016-13, Financial Instruments &#x2013; Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments.</ix:footnote>
<ix:footnote xml:lang="en-us" id="f6527c6fa-3df1-4610-8118-5e423ad1b991">Recorded in the current portion of long-term borrowings and finance lease obligations line within the consolidated balance sheets</ix:footnote>
<ix:footnote xml:lang="en-us" id="f7e43a7d0-494f-43d3-ad2d-8bd4e3d489e0">There were no awards with an anti-dilutive impact for the years ended December 31, 2021, 2020 and 2019.</ix:footnote>
<ix:footnote xml:lang="en-us" id="f74d3313c-5c99-4ce9-8cf8-3a9b2e681deb">Represents unfavorable impact from the strengthening of the U.S. dollar against foreign currencies during the year ended December 31, 2022, particularly the Euro and British Pound. </ix:footnote>
<ix:footnote xml:lang="en-us" id="f011bb1d0-bc17-4227-9191-91f4272e6c8d">Recorded in the property and equipment, net line within the consolidated balance sheets</ix:footnote>
<ix:footnote xml:lang="en-us" id="ff5299775-9008-4966-b5ba-7ba7f084cf55">Payable in common stock issued upon achievement of certain performance targets within 45 calendar days following the conclusion of the earnout period, December 31, 2025. </ix:footnote>
<ix:footnote xml:lang="en-us" id="f51deb7b3-6be0-4b0c-ab16-f414b484414d">To be paid in the form of common stock issued upon achievement of certain performance targets following the end of two earnout periods, one ended June 30, 2022, and one originally ending June 30, 2023.</ix:footnote>
<ix:footnote xml:lang="en-us" id="fa332e369-de1d-4fa7-922d-b659e0772706">Recorded in the long-term borrowings and finance lease obligations line within the consolidated balance sheets</ix:footnote>
<ix:footnote xml:lang="en-us" id="fcf5dedb2-a3d0-4fd9-ad4e-023788beaa37">Represents unfavorable impact from the strengthening of the U.S. dollar against foreign currencies during the year ended December 31, 2021, particularly the Euro and British Pound. </ix:footnote>
<ix:footnote xml:lang="en-us" id="f352124f2-3c3e-4055-8a7a-e6759e07517b">Deductions from the allowance for doubtful accounts equal accounts receivable written off against the allowance, less recoveries, as well as foreign currency
translation adjustments. Deductions from the reserves for inventory excess and obsolete items equal inventory written off against the reserve as items were disposed
of, as well as foreign currency translation adjustments.</ix:footnote></ix:hidden>
<ix:references>
<link:schemaRef xlink:href="gnrc-20221231.xsd" xlink:type="simple"></link:schemaRef></ix:references>
<ix:resources>
<xbrli:context id="d_2022-01-01_2022-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:unit id="USD"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit>
<xbrli:context id="i_2022-06-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:unit id="Share"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit>
<xbrli:context id="i_2023-02-17"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-02-17</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:unit id="NonApplicable"><xbrli:measure>thunderdome:item</xbrli:measure></xbrli:unit>
<xbrli:context id="i_2022-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:unit id="USDPerShare"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit>
<xbrli:context id="d_2021-01-01_2021-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_StatementEquityComponentsAxis-TreasuryStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:ExcessPurchasePriceOverPredecessorBasisMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_StatementEquityComponentsAxis-ParentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-TreasuryStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:ExcessPurchasePriceOverPredecessorBasisMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-ParentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-NoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:ExcessPurchasePriceOverPredecessorBasisMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ParentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:ExcessPurchasePriceOverPredecessorBasisMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_StatementEquityComponentsAxis-ParentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:ExcessPurchasePriceOverPredecessorBasisMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:ExcessPurchasePriceOverPredecessorBasisMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementEquityComponentsAxis-ParentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:ExcessPurchasePriceOverPredecessorBasisMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ParentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:ExcessPurchasePriceOverPredecessorBasisMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementEquityComponentsAxis-ParentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:unit id="Pure"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit>
<xbrli:context id="d_2022-01-01_2022-12-31_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">gnrc:OneCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">gnrc:OneCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-NoCustomerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">gnrc:NoCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-NoCustomerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">gnrc:NoCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-NoCustomerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">gnrc:NoCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-07-01_2022-09-30_ProductOrServiceAxis-CleanEnergyProductMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CleanEnergyProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-07-01</xbrli:startDate><xbrli:endDate>2022-09-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:unit id="Year"><xbrli:measure>utr:Y</xbrli:measure></xbrli:unit>
<xbrli:context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandImprovementsMember_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandImprovementsMember_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-DiesAndToolsMember_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">gnrc:DiesAndToolsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-DiesAndToolsMember_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">gnrc:DiesAndToolsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-OfficeEquipmentMember_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-OfficeEquipmentMember_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_LongtermDebtTypeAxis-TermLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TermLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OtherAccruedLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_BalanceSheetLocationAxis-OtherLongtermLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OtherLongtermLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OtherAccruedLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_BalanceSheetLocationAxis-OtherLongtermLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OtherLongtermLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">gnrc:ContingentConsiderationLiabilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">gnrc:ContingentConsiderationLiabilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">gnrc:ContingentConsiderationLiabilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-AcquisitionOfOffGridEnergyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfOffGridEnergyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-EcobeeIncMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:EcobeeIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-EECAndBluePillarMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:EECAndBluePillarMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-06-01_2021-06-01_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfDeepSeaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-06-01</xbrli:startDate><xbrli:endDate>2021-06-01</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-06-01_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfDeepSeaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-07-02_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfChiliconMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-02</xbrli:startDate><xbrli:endDate>2021-07-02</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfChiliconMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-07-02</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-AcquisitionOfOffGridEnergyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfOffGridEnergyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-01</xbrli:startDate><xbrli:endDate>2021-09-01</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-09-01_BusinessAcquisitionAxis-AcquisitionOfOffGridEnergyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfOffGridEnergyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-09-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-07-01_2022-09-30_BusinessAcquisitionAxis-AcquisitionOfOffGridEnergyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfOffGridEnergyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-07-01</xbrli:startDate><xbrli:endDate>2022-09-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-12-01_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:EcobeeIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-12-01_2021-12-01_BusinessAcquisitionAxis-EcobeeIncMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:EcobeeIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-01</xbrli:startDate><xbrli:endDate>2021-12-01</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-10-01_2022-12-31_BusinessAcquisitionAxis-EcobeeIncMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:EcobeeIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-01-01_2023-03-31_BusinessAcquisitionAxis-EcobeeIncMember_StatementScenarioAxis-ScenarioForecastMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:EcobeeIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-01_BusinessAcquisitionAxis-EcobeeIncMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:EcobeeIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_BusinessAcquisitionAxis-Other2021AcquisitionsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:Other2021AcquisitionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-10-07_2020-10-07_BusinessAcquisitionAxis-AcquisitionOfEnbalaMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfEnbalaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-10-07</xbrli:startDate><xbrli:endDate>2020-10-07</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-10-07_BusinessAcquisitionAxis-AcquisitionOfEnbalaMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfEnbalaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-10-07</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-07-01_2020-09-30_BusinessAcquisitionAxis-Other2020AcquisitionsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:Other2020AcquisitionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-07-01</xbrli:startDate><xbrli:endDate>2020-09-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:The2022AcquisitionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfDeepSeaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:EcobeeIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AllOther2021AcquisitionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:The2021AcquisitionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:The2020AcquisitionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_StatementScenarioAxis-ProFormaMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ProFormaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_StatementScenarioAxis-ProFormaMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ProFormaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_StatementScenarioAxis-ProFormaMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ProFormaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-AllAcquisitionsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AllAcquisitionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_BusinessAcquisitionAxis-AllAcquisitionsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AllAcquisitionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_BusinessAcquisitionAxis-AllAcquisitionsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AllAcquisitionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2016-03-01_BusinessAcquisitionAxis-PramacMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:PramacMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-03-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2016-03-01_OwnershipAxis-PramacMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">gnrc:PramacMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-03-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2019-02-01_2019-02-28_BusinessAcquisitionAxis-PramacMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:PramacMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-02-01</xbrli:startDate><xbrli:endDate>2019-02-28</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-05-01_2021-05-31_BusinessAcquisitionAxis-PramacMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:PramacMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-05-01</xbrli:startDate><xbrli:endDate>2021-05-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-05-31_BusinessAcquisitionAxis-PramacMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:PramacMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-05-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-05-31_OwnershipAxis-PramacMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">gnrc:PramacMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-05-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-02-01_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:CaptivaEnergySolutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-02-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-02-01_OwnershipAxis-CaptivaEnergySolutionsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">gnrc:CaptivaEnergySolutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-02-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2019-02-01_2019-02-01_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:CaptivaEnergySolutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-02-01</xbrli:startDate><xbrli:endDate>2019-02-01</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-03-31_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:CaptivaEnergySolutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-03-01_2022-03-31_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:CaptivaEnergySolutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-03-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-05-31_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:CaptivaEnergySolutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-05-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-05-01_2022-05-31_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:CaptivaEnergySolutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-05-01</xbrli:startDate><xbrli:endDate>2022-05-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_OwnershipAxis-CaptivaEnergySolutionsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">gnrc:CaptivaEnergySolutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:RedeemableNoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:RedeemableNoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:RedeemableNoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:RedeemableNoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:RedeemableNoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:RedeemableNoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:RedeemableNoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_DerivativeInstrumentRiskAxis-CommodityContractMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:CommodityContractMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_DerivativeInstrumentRiskAxis-CommodityContractMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:CommodityContractMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_DerivativeInstrumentRiskAxis-CommodityContractMember_HedgingDesignationAxis-NondesignatedMember_IncomeStatementLocationAxis-CostOfSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:CommodityContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_DerivativeInstrumentRiskAxis-CommodityContractMember_HedgingDesignationAxis-NondesignatedMember_IncomeStatementLocationAxis-CostOfSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:CommodityContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_DerivativeInstrumentRiskAxis-CommodityContractMember_HedgingDesignationAxis-NondesignatedMember_IncomeStatementLocationAxis-CostOfSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:CommodityContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_DerivativeInstrumentRiskAxis-ForeignExchangeContractMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_DerivativeInstrumentRiskAxis-ForeignExchangeContractMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2017-01-01_2017-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-03-01_2020-03-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-03-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_DerivativeInstrumentRiskAxis-ForeignExchangeContractMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_DerivativeInstrumentRiskAxis-ForeignExchangeContractMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ResidentialPowerProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ResidentialPowerProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ResidentialPowerProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CommercialAndIndustrialPowerProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CommercialAndIndustrialPowerProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CommercialAndIndustrialPowerProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:OtherProductsAndServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:OtherProductsAndServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:OtherProductsAndServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ResidentialPowerProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ResidentialPowerProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ResidentialPowerProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CommercialAndIndustrialPowerProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CommercialAndIndustrialPowerProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CommercialAndIndustrialPowerProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:OtherProductsAndServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:OtherProductsAndServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:OtherProductsAndServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ResidentialPowerProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ResidentialPowerProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ResidentialPowerProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CommercialAndIndustrialPowerProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CommercialAndIndustrialPowerProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CommercialAndIndustrialPowerProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:OtherProductsAndServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:OtherProductsAndServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:OtherProductsAndServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-ExternalNetSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-ExternalNetSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-IntersegmentSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-IntersegmentSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-ExternalNetSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-ExternalNetSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-IntersegmentSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-IntersegmentSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-ExternalNetSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-ExternalNetSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-IntersegmentSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-IntersegmentSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-CleanEnergyProductMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CleanEnergyProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_StatementBusinessSegmentsAxis-DomesticMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_StatementBusinessSegmentsAxis-InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ConcentrationRiskByBenchmarkAxis-NetAssetsGeographicAreaMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:NetAssetsGeographicAreaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-NetAssetsGeographicAreaMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:NetAssetsGeographicAreaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandAndLandImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandAndLandImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-LandAndLandImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandAndLandImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-DiesAndToolsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">gnrc:DiesAndToolsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-DiesAndToolsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">gnrc:DiesAndToolsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-OfficeEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-OfficeEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerListsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerListsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerListsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsAndTechnologyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">gnrc:PatentsAndTechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsAndTechnologyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">gnrc:PatentsAndTechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsAndTechnologyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">gnrc:PatentsAndTechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ComputerSoftwareIntangibleAssetMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ComputerSoftwareIntangibleAssetMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_BalanceSheetLocationAxis-OperatingLeaseAndOtherAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OperatingLeaseAndOtherAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_BalanceSheetLocationAxis-OperatingLeaseAndOtherAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OperatingLeaseAndOtherAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_BalanceSheetLocationAxis-OperatingLeaseAndOtherLongtermLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OperatingLeaseAndOtherLongtermLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_BalanceSheetLocationAxis-OperatingLeaseAndOtherLongtermLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OperatingLeaseAndOtherLongtermLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_BalanceSheetLocationAxis-FinanceLeaseAndOtherAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:FinanceLeaseAndOtherAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_BalanceSheetLocationAxis-FinanceLeaseAndOtherAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:FinanceLeaseAndOtherAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_BalanceSheetLocationAxis-CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_BalanceSheetLocationAxis-CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_BalanceSheetLocationAxis-FinanceLeaseAndOtherLongtermLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:FinanceLeaseAndOtherLongtermLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_BalanceSheetLocationAxis-FinanceLeaseAndOtherLongtermLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:FinanceLeaseAndOtherLongtermLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-07-01_2022-09-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-07-01</xbrli:startDate><xbrli:endDate>2022-09-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-01-01"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2024-01-01"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2024-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2025-01-01"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2025-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2026-01-01"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2026-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2027-01-01"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2027-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_LongtermDebtTypeAxis-TrancheATermLoanFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheATermLoanFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_LongtermDebtTypeAxis-TrancheATermLoanFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheATermLoanFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_DebtInstrumentAxis-TrancheATermLoanFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">gnrc:TrancheATermLoanFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_DebtInstrumentAxis-TrancheBTermLoanFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_DebtInstrumentAxis-ABLRevolvingCreditFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2013-05-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2013-05-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2013-05-31_2013-05-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_VariableRateAxis-BaseRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2013-05-31</xbrli:startDate><xbrli:endDate>2013-05-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2013-05-31_2013-05-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_VariableRateAxis-AdjustedLIBORRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">gnrc:AdjustedLIBORRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2013-05-31</xbrli:startDate><xbrli:endDate>2013-05-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2013-05-31_2013-05-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_VariableRateAxis-LIBORFloorRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">gnrc:LIBORFloorRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2013-05-31</xbrli:startDate><xbrli:endDate>2013-05-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_VariableRateAxis-BaseRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_VariableRateAxis-SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_LongtermDebtTypeAxis-TermLoanMember_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TermLoanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2015-05-01_2015-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_VariableRateAxis-BaseRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2015-05-01</xbrli:startDate><xbrli:endDate>2015-05-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2015-05-01_2015-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_VariableRateAxis-AdjustedLIBORRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">gnrc:AdjustedLIBORRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2015-05-01</xbrli:startDate><xbrli:endDate>2015-05-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-05-01_CreditFacilityAxis-ABLRevolvingCreditFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-05-01</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-05-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-05-01_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_RangeAxis-MinimumMember_VariableRateAxis-BaseRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-05-01</xbrli:startDate><xbrli:endDate>2021-05-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-05-01_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_RangeAxis-MaximumMember_VariableRateAxis-BaseRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-05-01</xbrli:startDate><xbrli:endDate>2021-05-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-05-01_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_RangeAxis-MinimumMember_VariableRateAxis-LondonInterbankOfferedRateLIBORMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-05-01</xbrli:startDate><xbrli:endDate>2021-05-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-05-01_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_RangeAxis-MaximumMember_VariableRateAxis-LondonInterbankOfferedRateLIBORMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-05-01</xbrli:startDate><xbrli:endDate>2021-05-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-05-01_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-05-01</xbrli:startDate><xbrli:endDate>2021-05-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_LongtermDebtTypeAxis-TrancheATermLoanFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheATermLoanFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-06-30_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheATermLoanFacilityAndRevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-06-01_2022-06-30_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember_VariableRateAxis-SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheATermLoanFacilityAndRevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheATermLoanFacilityAndRevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-01-01_2023-01-01_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember_RangeAxis-MinimumMember_StatementScenarioAxis-ScenarioForecastMember_VariableRateAxis-SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheATermLoanFacilityAndRevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-01-01</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-01-01_2023-01-01_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember_RangeAxis-MaximumMember_StatementScenarioAxis-ScenarioForecastMember_VariableRateAxis-SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheATermLoanFacilityAndRevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-01-01</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-06-01_2022-06-30_CreditFacilityAxis-ABLRevolvingCreditFacilityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-09-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-09-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-09-01_2020-09-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-09-01</xbrli:startDate><xbrli:endDate>2020-09-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-08-05"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-08-05</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:unit id="Month"><xbrli:measure>utr:M</xbrli:measure></xbrli:unit>
<xbrli:context id="d_2022-08-05_2022-08-05"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-05</xbrli:startDate><xbrli:endDate>2022-08-05</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2015-08-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2015-08-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2015-08-01_2022-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2015-08-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_RetirementPlanTypeAxis-SavingsPlan401kMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">gnrc:SavingsPlan401kMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_RetirementPlanTypeAxis-SavingsPlan401kMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">gnrc:SavingsPlan401kMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_RetirementPlanTypeAxis-SavingsPlan401kMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">gnrc:SavingsPlan401kMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2010-02-10"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2010-02-10</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_PlanNameAxis-EquityIncentivePlanPlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gnrc:EquityIncentivePlanPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_PlanNameAxis-EquityIncentivePlanPlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gnrc:EquityIncentivePlanPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_PlanNameAxis-EquityIncentivePlanPlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gnrc:EquityIncentivePlanPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-06-13_PlanNameAxis-The2019EquityIncentivePlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gnrc:The2019EquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-13</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_PlanNameAxis-The2019EquityIncentivePlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gnrc:The2019EquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_PlanNameAxis-The2019EquityIncentivePlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gnrc:The2019EquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_PlanNameAxis-The2019EquityIncentivePlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gnrc:The2019EquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_AwardTypeAxis-EmployeeStockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2019-01-01_2019-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_AwardTypeAxis-RestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_AwardTypeAxis-PerformanceSharesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_AwardTypeAxis-RestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_AwardTypeAxis-RestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_AwardTypeAxis-RestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_AwardTypeAxis-RestrictedStockAndPerformanceSharesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">gnrc:RestrictedStockAndPerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_AwardTypeAxis-RestrictedStockAndPerformanceSharesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">gnrc:RestrictedStockAndPerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_AwardTypeAxis-RestrictedStockAndPerformanceSharesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">gnrc:RestrictedStockAndPerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:BoardOfDirectorsChairmanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:BoardOfDirectorsChairmanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:BoardOfDirectorsChairmanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-08-01_2022-08-01_LitigationCaseAxis-PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">gnrc:PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-08-01</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-10-07_CounterpartyNameAxis-PowerHomeSolarLlcMember_LossContingenciesByNatureOfContingencyAxis-CollectibilityOfReceivablesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">gnrc:PowerHomeSolarLlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">us-gaap:CollectibilityOfReceivablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-07</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-03-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-04-01_2022-06-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-10-01_2022-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-03-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-04-01_2021-06-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-07-01_2021-09-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-01</xbrli:startDate><xbrli:endDate>2021-09-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-10-01_2021-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-10-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2019-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001474735</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="f5e016294-150a-4ae5-a727-025b102a81a0" fromRefs="c93264536 c93264537"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="fb18cee12-a7a4-40be-9905-5cda022cf939" fromRefs="c93264225 c93264226 c93264227"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="fc5365044-346f-4fbc-acfb-61cf69abe0c9" fromRefs="c93263901 c93263902 c93263903"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="f312fba7d-f4bb-49de-b685-08ef99e45ef5" fromRefs="c93264027"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="f6b84cec0-7900-429d-93ff-a2868efd6b8f" fromRefs="c93264228 c93264229 c93264230"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="fa2c09e17-f638-4acb-8bb2-883a4c929b89" fromRefs="c93264231 c93264232 c93264233"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="fdeb04e65-421c-4a58-9698-0bc9e7fa5d82" fromRefs="c93263643"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="f56eb4834-92f3-4631-b467-3701ddb41bdd" fromRefs="c93264534 c93264535"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="f31c229ae-c828-4a30-a133-512728d60f92" fromRefs="c93264650 c93264651 c93264652"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="ff4f9bfeb-b769-416d-9ce6-aa03be128d42" fromRefs="c93264234 c93264235 c93264236"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="fb5dd7e47-7023-4701-9629-66cf5eb332ba" fromRefs="c93264532 c93264533"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="f2cf9cef8-7dc5-4f1c-8b0d-89ab34ba0b9b" fromRefs="c93263623"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="f7c254218-9ef7-400c-8496-e4d14cacfca4" fromRefs="c93263756"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="fba5d46e3-9355-4452-bfc1-77d763b7aaff" fromRefs="c93265055 c93265056 c93265057"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="f5469e934-4b9c-4cd7-b312-876268feebe2" fromRefs="c93264222 c93264223 c93264224"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="f49b0d742-1259-449e-818b-eec6501a3d26" fromRefs="c93264052"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="f8731c487-8b46-4be3-a7e0-3812d75b8753" fromRefs="c93264219 c93264220 c93264221"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="fc2d23afd-943b-4cfc-abaf-f5e1100be847" fromRefs="c93265438 c93265444 c93265450 c93265457 c93265463 c93265469 c93265476 c93265482 c93265488"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="f6527c6fa-3df1-4610-8118-5e423ad1b991" fromRefs="c93264547 c93264548"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="f7e43a7d0-494f-43d3-ad2d-8bd4e3d489e0" fromRefs="c93264891 c93264892 c93264893"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="f74d3313c-5c99-4ce9-8cf8-3a9b2e681deb" fromRefs="c93264025"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="f011bb1d0-bc17-4227-9191-91f4272e6c8d" fromRefs="c93264545 c93264546"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="ff5299775-9008-4966-b5ba-7ba7f084cf55" fromRefs="c93263758"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="f51deb7b3-6be0-4b0c-ab16-f414b484414d" fromRefs="c93263762"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="fa332e369-de1d-4fa7-922d-b659e0772706" fromRefs="c93264549 c93264550"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="fcf5dedb2-a3d0-4fd9-ad4e-023788beaa37" fromRefs="c93264050"></ix:relationship>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="f352124f2-3c3e-4055-8a7a-e6759e07517b" fromRefs="c93265439 c93265445 c93265451 c93265458 c93265464 c93265470 c93265477 c93265483 c93265489"></ix:relationship></ix:resources>
</ix:header></div>
  <div>
    &#xa0;
  </div>
  <div><p style="font-size: 3pt; margin: 0; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif">&#xa0;</p>
<p style="font-size: 10pt; margin: 0pt; font-family: Times New Roman;"><a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a></p>
<p style="font-size: 3pt; margin: 0; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif">&#xa0;</p>
<hr style="height: 3px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 3pt 0" />
<hr style="height: 1px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 0 0 3pt 0" />
<p style="font-family:'Times New Roman', Times, serif;font-size:12pt;margin:0pt;text-align:center;"><b>UNITED STATES<b> </b>SECURITIES AND EXCHANGE COMMISSION</b></p>
<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>WASHINGTON, D.C. 20549</b></p>
<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&#xa0;</p>
<hr style="text-align: center; height: 1px; color: #000000; background-color: #000000; width: 25%; border: none; margin: 3pt auto" />
<p style="font-family:'Times New Roman', Times, serif;font-size:12pt;margin:0pt;text-align:center;">&#xa0;</p>
<p style="font-family:'Times New Roman', Times, serif;font-size:12pt;margin:0pt;text-align:center;"><b>FORM <ix:nonNumeric name="dei:DocumentType" contextRef="d_2022-01-01_2022-12-31">10-K</ix:nonNumeric></b></p>
<table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="vertical-align:top;width:10.8%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>(Mark One)</b></p> </td><td style="vertical-align:bottom;width:89.2%;">&#xa0;</td></tr>
<tr><td style="vertical-align:top;width:10.8%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><ix:nonNumeric name="dei:DocumentAnnualReport" format="ixt-sec:boolballotbox" contextRef="d_2022-01-01_2022-12-31">&#x2612;</ix:nonNumeric></p> </td><td style="vertical-align:top;width:89.2%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>ANNUAL REPORT PURSUANT TO SECTION&#xa0;13 OR 15(d)&#xa0;OF&#xa0;THE SECURITIES EXCHANGE ACT OF&#xa0;1934</b></p> </td></tr>
<tr><td colspan="2" style="vertical-align:top;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>For the fis</b><b>cal year ended <ix:nonNumeric name="dei:DocumentPeriodEndDate" format="ixt:datemonthdayyearen" contextRef="d_2022-01-01_2022-12-31">December 31, 2022</ix:nonNumeric></b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Or</b></p> </td></tr>
<tr><td style="vertical-align:top;width:10.8%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><ix:nonNumeric name="dei:DocumentTransitionReport" format="ixt-sec:boolballotbox" contextRef="d_2022-01-01_2022-12-31">&#x2610;</ix:nonNumeric></p> </td><td style="vertical-align:top;width:89.2%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>TRANSITION REPORT PURSUANT TO SECTION&#xa0;13 OR 15(d)&#xa0;OF&#xa0;THE SECURITIES EXCHANGE ACT OF&#xa0;1934</b></p> </td></tr>
<tr><td colspan="2" style="vertical-align:top;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>For the transition period from&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0; to </b></p> </td></tr>
</tbody></table>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;"><b>Commission File Number&#xa0;<ix:nonNumeric name="dei:EntityFileNumber" contextRef="d_2022-01-01_2022-12-31">001-34627</ix:nonNumeric></b></p>
<hr style="text-align: center; height: 1px; color: #000000; background-color: #000000; width: 25%; border: none; margin: 3pt auto" />
<p style="font-family:'Times New Roman', Times, serif;font-size:12pt;margin:0pt;text-align:center;">&#xa0;</p>
<p style="font-family:'Times New Roman', Times, serif;font-size:12pt;margin:0pt;text-align:center;"><b>GENERAC HOLDINGS INC.</b></p>
<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">(Exact name of registrant as specified in its charter)</p>
<table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td colspan="3" style="vertical-align:top;width:50%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:center;"><b><ix:nonNumeric name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen" contextRef="d_2022-01-01_2022-12-31">Delaware</ix:nonNumeric></b><br /> (State or other jurisdiction of incorporation or organization)</p> </td><td colspan="3" style="vertical-align:top;width:50%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><ix:nonNumeric name="dei:EntityTaxIdentificationNumber" contextRef="d_2022-01-01_2022-12-31">20-5654756</ix:nonNumeric></b><br /> (IRS Employer Identification No.)</p> </td></tr>
<tr><td colspan="3" style="vertical-align:top;width:50%;">&#xa0;</td><td colspan="3" style="vertical-align:top;width:50%;">&#xa0;</td></tr>
<tr><td colspan="3" style="vertical-align:top;width:50%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:center;"><b><ix:nonNumeric name="dei:EntityAddressAddressLine1" contextRef="d_2022-01-01_2022-12-31">S45 W29290 Hwy 59</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressCityOrTown" contextRef="d_2022-01-01_2022-12-31">Waukesha</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressStateOrProvince" contextRef="d_2022-01-01_2022-12-31">WI</ix:nonNumeric></b><br /> (Address of principal executive offices)</p> </td><td colspan="3" style="vertical-align:top;width:50%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><ix:nonNumeric name="dei:EntityAddressPostalZipCode" contextRef="d_2022-01-01_2022-12-31">53189</ix:nonNumeric></b><br /> (Zip Code)</p> </td></tr>
<tr><td colspan="6" style="vertical-align:top;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:center;">&#xa0;</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:center;"><b>(<ix:nonNumeric name="dei:CityAreaCode" contextRef="d_2022-01-01_2022-12-31">262</ix:nonNumeric>) <ix:nonNumeric name="dei:LocalPhoneNumber" contextRef="d_2022-01-01_2022-12-31">544-4811</ix:nonNumeric></b><br /> (Registrant&#x2019;s telephone number, including area code)</p> </td></tr>
</tbody></table>
<p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
<p style="margin: 0; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"><span style="text-transform:uppercase;">Securities registered pursuant to Section</span> 12(b) <span style="text-transform:uppercase;">of the Act</span>:</p>
<table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="vertical-align: top; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; width: 35%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Title of each class</p> </td><td style="vertical-align: top; border-bottom: 1px solid rgb(0, 0, 0); width: 30%; border-top: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Trading Symbol(s)</p> </td><td style="vertical-align: top; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; width: 35%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Name of each exchange on which registered</p> </td></tr>
<tr><td style="vertical-align: top; border-bottom: 1px solid rgb(0, 0, 0); width: 35%; border-left: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><ix:nonNumeric name="dei:Security12bTitle" contextRef="d_2022-01-01_2022-12-31">Common Stock, $0.01 par value</ix:nonNumeric></b></p> </td><td style="vertical-align:top;border-bottom:solid 1px #000000;;width:30%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><ix:nonNumeric name="dei:TradingSymbol" contextRef="d_2022-01-01_2022-12-31">GNRC</ix:nonNumeric></b></p> </td><td style="vertical-align: top; border-bottom: 1px solid rgb(0, 0, 0); width: 35%; border-left: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><ix:nonNumeric name="dei:SecurityExchangeName" format="ixt-sec:exchnameen" contextRef="d_2022-01-01_2022-12-31">New York Stock Exchange</ix:nonNumeric></b></p> </td></tr>
</tbody></table>
<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
<table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td colspan="1" style="vertical-align:top;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:center;">SECURITIES REGISTERED PURSUANT TO SECTION&#xa0;12(g) OF THE ACT: <b>None</b></p> </td></tr>
</tbody></table>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#xa0;</p>
<hr style="text-align: center; height: 1px; color: #000000; background-color: #000000; width: 25%; border: none; margin: 3pt auto" />
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule&#xa0;405 of the Securities Act.&#xa0;<ix:nonNumeric name="dei:EntityWellKnownSeasonedIssuer" contextRef="d_2022-01-01_2022-12-31">Yes</ix:nonNumeric>&#xa0;&#x2612; No&#xa0;&#x2610;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">Indicate by check mark if the registrant is not required to file reports pursuant to Section&#xa0;13 or Section&#xa0;15(d) of the Act.&#xa0;Yes&#xa0;&#x2610; <ix:nonNumeric name="dei:EntityVoluntaryFilers" contextRef="d_2022-01-01_2022-12-31">No</ix:nonNumeric>&#xa0;&#x2612;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">Indicate by check mark whether the registrant (1)&#xa0;has filed all reports required to be filed by Section&#xa0;13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12&#xa0;months (or for such shorter period that the registrant was required to file such reports), and (2)&#xa0;has been subject to such filing requirements for the past 90&#xa0;days.&#xa0;<ix:nonNumeric name="dei:EntityCurrentReportingStatus" contextRef="d_2022-01-01_2022-12-31">Yes</ix:nonNumeric>&#xa0;&#x2612; No&#xa0;&#x2610;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule&#xa0;405 of Regulation S-T (&#xa7; 232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files). <ix:nonNumeric name="dei:EntityInteractiveDataCurrent" contextRef="d_2022-01-01_2022-12-31">Yes</ix:nonNumeric>&#xa0;&#x2612;&#xa0;&#xa0;No&#xa0;&#x2610;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">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 &#x201c;large accelerated filer,&#x201d; &#x201c;accelerated filer,&#x201d; &#x201c;smaller reporting company,&#x201d; and &#x201c;emerging growth company&#x201d; in Rule&#xa0;12b-2 of the Exchange Act.</p>
<table border="0" cellpadding="0" cellspacing="0" style="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; width: 100%;"><tbody><tr><td style="width: 50%; padding-left: 18pt;"><ix:nonNumeric name="dei:EntityFilerCategory" format="ixt-sec:entityfilercategoryen" contextRef="d_2022-01-01_2022-12-31">Large accelerated filer</ix:nonNumeric> &#x2612;</td><td style="width: 50%;">Accelerated filer &#x2610;</td></tr>
<tr><td style="padding-left: 18pt;">Non-accelerated filer &#x2610;</td><td>Smaller reporting company <ix:nonNumeric name="dei:EntitySmallBusiness" format="ixt-sec:boolballotbox" contextRef="d_2022-01-01_2022-12-31">&#x2610;</ix:nonNumeric></td></tr>
<tr><td style="padding-left: 18pt;">Emerging growth company <ix:nonNumeric name="dei:EntityEmergingGrowthCompany" format="ixt-sec:boolballotbox" contextRef="d_2022-01-01_2022-12-31">&#x2610;</ix:nonNumeric></td><td>&#xa0;</td></tr>
</tbody></table>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">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. &#x2610;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">Indicate by check mark whether the registrant has filed a report on and attestation to its management's assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report.&#xa0;<ix:nonNumeric name="dei:IcfrAuditorAttestationFlag" format="ixt-sec:boolballotbox" contextRef="d_2022-01-01_2022-12-31">&#x2612;</ix:nonNumeric></p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements. &#x2610;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant's executive officers during the relevant recovery period pursuant to&#xa0;&#xa7;240.10D-1(b).&#xa0;&#x2610;&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">Indicate by check mark whether the registrant is a shell company (as defined in Rule&#xa0;12b-2 of the Exchange Act). Yes&#xa0;<ix:nonNumeric name="dei:EntityShellCompany" format="ixt-sec:boolballotbox" contextRef="d_2022-01-01_2022-12-31">&#x2610;</ix:nonNumeric> No&#xa0;&#x2612;</p>
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 8pt;text-indent:18pt;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">The aggregate market value of the voting common equity held by non-affiliates of the registrant on June 30, 2022, the last business day of the registrant&#x2019;s most recently completed second fiscal quarter, was <span style="color:#000000;"><span style="background-color:#ffffff;">$<ix:nonFraction name="dei:EntityPublicFloat" scale="0" unitRef="USD" decimals="INF" format="ixt:numdotdecimal" contextRef="i_2022-06-30">13,014,830,988</ix:nonFraction></span></span>&#xa0;based on the closing price reported for such date on the New York Stock Exchange.</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: left; text-indent: 18pt;">As of February 17, 2023,<span style="background-color:#ffffff;"><span style="color:#ff0000;">&#xa0;</span><span style="color:#000000;"><ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" scale="0" unitRef="Share" decimals="INF" format="ixt:numdotdecimal" contextRef="i_2023-02-17">61,887,460</ix:nonFraction></span>&#xa0;</span>shares of the registrant's common stock were outstanding.</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#xa0;</p>
<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>DOCUMENTS INCORPORATED BY REFERENCE</b></p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#xa0;</p>
<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Portions of the registrant&#x2019;s Annual Report to Stockholders for the year ended December 31, 2022 furnished to the Securities and Exchange Commission are incorporated by reference into Part II of this Form 10-K. Portions of the registrant&#x2019;s Proxy Statement for the 2023&#xa0;Annual Meeting of Stockholders (the &#x201c;2023&#xa0;Proxy Statement&#x201d;), which will be filed by the registrant on or prior to 120 days following the end of the registrant&#x2019;s fiscal year ended December 31, 2022, are incorporated by reference into Part III of this Form 10-K.</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#xa0;</p>
<hr style="height: 1px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 3pt 0" />
<hr style="height: 3px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 0 0 3pt 0" />
<p style="font-size: 10pt; margin: 0pt; text-align: left; font-family: Times New Roman;">&#xa0;</p>
<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
 <div class="PGNUM" style="text-align: center; width: 100%">
  &#xa0;
 </div>
 <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
 <div class="PGHDR" style="text-align: left; width: 100%">
  <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
 </div>
</div></div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <div>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><a id="toc" title="toc" href="#"></a>2022</b><b> FORM 10-K ANNUAL REPORT</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>TABLE OF CONTENTS</b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#xa0;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">
    <tbody>
     <tr>
      <td style="vertical-align:bottom;width:9.7%;">&#xa0;</td>
      <td style="vertical-align:bottom;width:75.5%;">&#xa0;</td>
      <td style="vertical-align: bottom; width: 14.8%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Page</b></p> </td>
     </tr>

     <tr>
      <td colspan="3" style="vertical-align:bottom;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:center;text-indent:-10pt;"><a href="#part1" style="-sec-extract:exhibit;"><b>PART I</b></a></p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;">&#xa0;</td>
      <td style="vertical-align:top;width:75.5%;">&#xa0;</td>
      <td style="vertical-align: bottom; width: 14.8%;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;">Item&#xa0;1.</p> </td>
      <td style="vertical-align:top;width:75.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item1" style="-sec-extract:exhibit;">Business</a></p> </td>
      <td style="vertical-align: bottom; width: 14.8%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><a class="tocPGNUM" href="#item1">2</a></p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;">Item&#xa0;1A.</p> </td>
      <td style="vertical-align:top;width:75.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item1a" style="-sec-extract:exhibit;">Risk Factors</a></p> </td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item1a">14</a></td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;">Item&#xa0;1B.</p> </td>
      <td style="vertical-align:top;width:75.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item1b" style="-sec-extract:exhibit;">Unresolved Staff Comments</a></p> </td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item1b">21</a></td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;">Item&#xa0;2.</p> </td>
      <td style="vertical-align:top;width:75.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item2" style="-sec-extract:exhibit;">Properties</a></p> </td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item2">21</a></td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;">Item&#xa0;3.</p> </td>
      <td style="vertical-align:top;width:75.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item3" style="-sec-extract:exhibit;">Legal Proceedings</a></p> </td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item3">22</a></td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;">Item&#xa0;4.</p> </td>
      <td style="vertical-align:top;width:75.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item4" style="-sec-extract:exhibit;">Mine Safety Disclosures</a></p> </td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item4">22</a></td>
     </tr>

     <tr>
      <td colspan="3" style="vertical-align:bottom;width:100%;">&#xa0;</td>
     </tr>

     <tr>
      <td colspan="3" style="vertical-align:bottom;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:center;text-indent:-10pt;"><a href="#part2" style="-sec-extract:exhibit;"><b>PART II</b></a></p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;">&#xa0;</td>
      <td style="vertical-align:top;width:75.5%;">&#xa0;</td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;">Item&#xa0;5.</p> </td>
      <td style="vertical-align:top;width:75.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item5" style="-sec-extract:exhibit;">Market for Registrant&#x2019;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</a></p> </td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item5">22</a></td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;">Item 6.</td>
      <td style="vertical-align:top;width:75.5%;"><a href="#item6" style="-sec-extract:exhibit;">[Removed and Reserved]</a></td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item6">23</a></td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;">Item&#xa0;7.</p> </td>
      <td style="vertical-align:top;width:75.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item7" style="-sec-extract:exhibit;">Management&#x2019;s Discussion and Analysis of Financial Condition and Results of Operations</a></p> </td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item7">24</a></td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;">Item&#xa0;7A.</p> </td>
      <td style="vertical-align:top;width:75.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item7a" style="-sec-extract:exhibit;">Quantitative and Qualitative Disclosures About Market Risk</a></p> </td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item7a">35</a></td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;">Item&#xa0;8.</p> </td>
      <td style="vertical-align:top;width:75.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item8" style="-sec-extract:exhibit;">Financial Statements and Supplementary Data</a></p> </td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item8">36</a></td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;">Item&#xa0;9.</p> </td>
      <td style="vertical-align:top;width:75.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item9" style="-sec-extract:exhibit;">Changes in and Disagreements with Accountants on Accounting and Financial Disclosure</a></p> </td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item9">71</a></td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;">Item&#xa0;9A.</p> </td>
      <td style="vertical-align:top;width:75.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item9a" style="-sec-extract:exhibit;">Controls and Procedures</a></p> </td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item9a">71</a></td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;">Item&#xa0;9B.</td>
      <td style="vertical-align:top;width:75.5%;"><a href="#item9b" style="-sec-extract:exhibit;">Other Information</a></td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item9b">72</a></td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;">Item&#xa0;9C.</p> </td>
      <td style="vertical-align:top;width:75.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item9c" style="-sec-extract:exhibit;">Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</a></p> </td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item9c">72</a></td>
     </tr>

     <tr>
      <td colspan="3" style="vertical-align:bottom;width:100%;">&#xa0;</td>
     </tr>

     <tr>
      <td colspan="3" style="vertical-align:bottom;width:100%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;"><a href="#part3" style="-sec-extract:exhibit;"><b>PART III</b></a></p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;">&#xa0;</td>
      <td style="vertical-align:top;width:75.5%;">&#xa0;</td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;">Item&#xa0;10.</p> </td>
      <td style="vertical-align:top;width:75.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item10" style="-sec-extract:exhibit;">Directors, Executive Officers and Corporate Governance</a></p> </td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item10">72</a></td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;">Item&#xa0;11.</p> </td>
      <td style="vertical-align:top;width:75.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item11" style="-sec-extract:exhibit;">Executive Compensation</a></p> </td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item11">72</a></td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;">Item&#xa0;12.</p> </td>
      <td style="vertical-align:top;width:75.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item12" style="-sec-extract:exhibit;">Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</a></p> </td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item12">72</a></td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;">Item&#xa0;13.</p> </td>
      <td style="vertical-align:top;width:75.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item13" style="-sec-extract:exhibit;">Certain Relationships and Related Transactions, and Director Independence</a></p> </td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item13">72</a></td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;">Item&#xa0;14.</p> </td>
      <td style="vertical-align:top;width:75.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item14" style="-sec-extract:exhibit;">Principal Accountant Fees and Services</a></p> </td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item14">72</a></td>
     </tr>

     <tr>
      <td colspan="3" style="vertical-align:bottom;width:100%;">&#xa0;</td>
     </tr>

     <tr>
      <td colspan="3" style="vertical-align:bottom;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:center;text-indent:-10pt;"><a href="#part4" style="-sec-extract:exhibit;"><b>PART IV</b></a></p> </td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;">&#xa0;</td>
      <td style="vertical-align:top;width:75.5%;">&#xa0;</td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;">&#xa0;</td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;">Item&#xa0;15.</p> </td>
      <td style="vertical-align:top;width:75.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item15" style="-sec-extract:exhibit;">Exhibits and Financial Statement Schedules</a></p> </td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item15">72</a></td>
     </tr>

     <tr>
      <td style="vertical-align:top;width:9.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;">Item 16.</p> </td>
      <td style="vertical-align:top;width:75.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="#item16" style="-sec-extract:exhibit;">Form 10-K Summary</a></p> </td>
      <td style="vertical-align: bottom; width: 14.8%; text-align: center;"><a class="tocPGNUM" href="#item16">76</a></td>
     </tr>

    </tbody>
   </table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
    <div class="PGNUM" style="text-align: center; width: 100%">
      &#xa0;
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </div>
  </div>
  <div>
    &#xa0;
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Forward-Looking Statements</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">This annual report contains forward-looking statements that are subject to risks and uncertainties. Forward-looking statements give our current expectations and projections relating to our financial condition, results of operations, plans, objectives, future performance and business. You can identify forward-looking statements by the fact that they do not relate strictly to historical or current facts. These statements may include words such as &#x201c;anticipate,&#x201d; &#x201c;estimate,&#x201d; &#x201c;expect,&#x201d; &#x201c;forecast,&#x201d; &#x201c;project,&#x201d; &#x201c;plan,&#x201d; &#x201c;intend,&#x201d; &#x201c;believe,&#x201d; &#x201c;confident,&#x201d; &#x201c;may,&#x201d; &#x201c;should,&#x201d; &#x201c;can have,&#x201d; &#x201c;likely,&#x201d; &#x201c;future,&#x201d; &#x201c;optimistic&#x201d; and other words and terms of similar meaning in connection with any discussion of the timing or nature of future operating or financial performance or other events.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The forward-looking statements contained in this annual report are based on assumptions that we have made in light of our industry experience and on our perceptions of historical trends, current conditions, expected future developments and other factors we believe are appropriate under the circumstances. As you read and consider this report, you should understand that these statements are not guarantees of performance or results. They involve risks, uncertainties (some of which are beyond our control) and assumptions. Although we believe that these forward-looking statements are based on reasonable assumptions, you should be aware that many factors could affect our actual financial results and cause them to differ materially from those anticipated in the forward-looking statements. The forward-looking statements contained in this annual report include estimates regarding:</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">our business, financial and operating results, and future economic performance;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">proposed new product and service offerings; and</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">management's goals, expectations and objectives and other similar expressions concerning matters that are not historical facts.</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Factors that could affect our actual financial results and cause them to differ materially from those anticipated in the forward-looking statements include:</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">frequency and duration of power outages impacting demand for our products;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;">&#x25cf;</td>
     <td style="vertical-align:top;">fluctuations in cost and quality of raw materials required to manufacture our products;</td>
    </tr>

    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">availability of both labor and key components from our global supply chain, including single-sourced components, needed in producing our products;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;">&#x25cf;</td>
     <td style="vertical-align:top;">the possibility that the expected synergies, efficiencies and cost savings of our acquisitions will not be realized, or will not be realized within the expected time period;</td>
    </tr>

    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;">&#x25cf;</td>
     <td style="vertical-align:top;">the risk that our acquisitions will not be integrated successfully;</td>
    </tr>

    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">the impact on our results of possible fluctuations in interest rates, foreign currency exchange rates, commodities, product mix, logistics costs and regulatory tariffs;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;">&#x25cf;</td>
     <td style="vertical-align:top;">the duration and impact of the COVID-19 pandemic;&#xa0;</td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">difficulties we may encounter as our business expands globally or into new markets;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">our dependence on our distribution network;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">our ability to invest in, develop or adapt to changing technologies and manufacturing techniques;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;">&#x25cf;</td>
     <td style="vertical-align:top;">loss of our key management and employees;</td>
    </tr>

    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">increase in product and other liability claims or recalls;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">failures or security breaches of our networks,&#xa0;information technology systems, or connected products;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">changes in environmental, health and safety, or product compliance laws and regulations affecting our products, operations, or customer demand; and</p> </td>
    </tr>

    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;">&#x25cf;</td>
     <td style="vertical-align:top;">significant legal proceedings, claims, lawsuits or government investigations.</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:36pt;margin-right:0pt;margin-top:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Should one or more of these risks or uncertainties materialize, or should any of these assumptions prove incorrect, our actual results may vary in material respects from those projected in any forward-looking statements. A detailed discussion of these and other factors that may affect future results is contained in Item 1A of this Annual Report on Form 10-K. Stockholders, potential investors and other readers should consider these factors carefully in evaluating the forward-looking statements.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Any forward-looking statement made by us in this report speaks only as of the date on which it is made. Factors or events that could cause our actual results to differ may emerge from time to time, and it is not possible for us to predict all of them. We undertake no obligation to update any forward-looking statement, whether as a result of new information, future developments or otherwise, except as may be required by law.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%">
     &#xa0;
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><a id="part1" title="part1" href="#"></a>PART I</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><a id="item1" title="item1" href="#"></a>Item&#xa0;1. Business </b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Overview</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Generac is a leading energy technology solutions company that provides backup and prime power generation systems for residential and commercial &amp;&#xa0;industrial (C&amp;I) applications, solar + battery storage solutions, smart home energy management devices and energy services, advanced power grid software platforms, and engine- &amp; battery-powered tools and equipment.&#xa0;As an energy technology solutions company that is &#x201c;Powering a Smarter World&#x201d;, our corporate purpose is to lead the evolution to more resilient, efficient, and sustainable energy solutions around the world.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">We have a long history of providing power generation products across a variety of applications, and we maintain one of the leading market positions in the power equipment markets in North America and an expanding presence internationally. We believe we have one of the widest ranges of products in the power generation marketplace, including residential, commercial and industrial standby generators; as well as portable and mobile generators used in a variety of applications.&#xa0;In recent years, the Company has been evolving its business model to focus on building out an ecosystem of energy technology products, solutions, and services for home and business purposes.&#xa0;As part of this evolution, we have made significant investments into rapidly growing markets such as residential clean energy storage, solar module-level power electronics (MLPE), and energy monitoring &amp; management devices, all of which are distributed energy resources (DERs) that can be aggregated into virtual power plants (VPPs) within grid services programs. In addition, we have been leveraging our leading position in the growing market for natural gas fueled generators, which we believe represents a cleaner transition fuel to more renewable and energy storage sources compared to diesel, to expand into applications beyond standby power, allowing us to participate in Energy-as-a-Service and microgrid projects for C&amp;I customers.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">We have also made investments in next-generation platforms and controls for both residential and C&amp;I applications that facilitate the connection of our products to the grid.&#xa0;Expanding these capabilities will enable the increasing utilization of our equipment as DERs as the nascent market for grid services expands over the next several years. Our growing presence in grid services programs will enhance the value of our power generation and storage products that might otherwise sit idle, as they are now able to be dispatched and orchestrated as part of a distributed energy solution, thereby generating additional return-on-investment for the home or business owner while also delivering value to utilities and grid operators by helping to balance, support and enhance the reliability of the electrical grid.&#xa0;As the traditional centralized utility model evolves over time, we believe that a more decarbonized, digitized, and decentralized grid infrastructure will build-out, and Generac&#x2019;s energy technology solutions are uniquely and strategically positioned to participate in this next-generation grid referred to as &#x201c;Grid 2.0&#x201d;.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">As our traditional power generation markets continue to grow due to multiple mega-trends that are driving increased penetration of our products, we believe we are in an excellent position to execute on this opportunity given our competitive strengths.&#xa0;In addition, our focus on more resilient, efficient and sustainable energy solutions has dramatically increased our served addressable market, and as a result, we believe that Generac is well-positioned for success over the long term.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Company History</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Generac was founded in 1959 to commercialize a line of affordable portable generators that offered superior performance and features. The Company&#x2019;s success through the years has been built upon engineering expertise, manufacturing excellence and our innovative approaches to the market. This has driven our growth into becoming a leading provider of power equipment for a variety of applications within residential, commercial, and industrial markets.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">In 1980, we expanded beyond portable generators into the industrial power generation market with the introduction of our first stationary generators that provided up to 200kW of power output. We introduced our first residential standby generator in 1989 and expanded our industrial product offering and global distribution system in the 1990s, forming a series of alliances that rapidly increased our sales. Our growth accelerated in the 2000&#x2019;s as we expanded our purpose-built line of residential &amp; commercial automatic standby generators and implemented our multi<span style="text-decoration: underline; ">-</span>layered, omni-channel distribution philosophy. Throughout the 2000&#x2019;s, a number of high-profile power outage events also helped to increase the awareness and need for back-up power and home standby generators. In 2006, the founder of Generac sold the company to affiliates of CCMP Capital Advisors, LLC, together with certain other investors and members of our management. In February 2010, we completed our initial public offering (IPO) of our common stock. Since then, we have scaled our sales &amp; marketing capabilities and systems, while also building the Generac brand into one of the leading names in back-up power around the nation.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Soon after going public, we implemented our &#x201c;Powering Ahead&#x201d; enterprise strategy. This strategic plan accelerated the Company&#x2019;s transition from primarily a North America focused, emergency backup generator company into a more diversified industrial technology company with the addition of new and adjacent product categories and an expanded global presence, primarily through a series of acquisitions. In 2018, we transitioned into a new enterprise strategy called &#x201c;Powering Our Future&#x201d;, which drove further share gains in new and existing markets, capitalized on Generac&#x2019;s leadership in natural gas gensets, established our connectivity strategy, and provided the initial foundation for the Company&#x2019;s evolution into an energy technology solutions company, including key initial acquisitions within the residential clean energy space. This ultimately led to the introduction of our &#x201c;Powering A Smarter World&#x201d; enterprise strategy in 2021.&#xa0;This current strategic plan continues the evolution of Generac&#x2019;s business model that pairs traditional and emerging power generation and storage technologies with new monitoring, management and grid services capabilities to provide solutions for the dynamic challenges presented by today&#x2019;s energy landscape.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       2
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <div style="display: none;">
    &#xa0;
  </div>
  <p style="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt;"><i><b>Significant Investments in Energy Technology Solutions</b></i></p>
  <p style="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We&#x2019;ve been providing power generation and resiliency solutions for homes and businesses for decades. Leveraging that expertise in power generation, Generac has made significant investments in recent years to expand its capabilities into energy technology solutions, beginning with the March 2019 acquisition of Neurio Technology Inc., a leading energy data company focused on monitoring&#xa0;technology and sophisticated analytics to optimize energy use within a home or business. This was followed by the April 2019 acquisition of Pika Energy Inc., a designer and manufacturer of battery storage technologies that capture and store solar or other power sources for homeowners and businesses. In October 2020, the Company acquired Enbala Power Networks Inc., one of the leading providers of distributed energy optimization and control software that helps support the operational stability of the world&#x2019;s power grids. In July 2021, Generac added to its residential clean energy portfolio with the acquisition of Chilicon Power LLC, a designer and provider of grid-interactive rooftop power inversion devices and monitoring solutions for the solar market.&#xa0;With these acquisitions, Generac has established an important&#xa0;presence in the rapidly growing residential clean energy market, focused on solar, battery storage and grid services applications.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">In December 2021, Generac acquired ecobee Inc., a leader in sustainable home technology solutions. In addition to smart home thermostatic controls and other smart home devices, ecobee offers its customers the ability to participate in &#x201c;Energy Services&#x201d; programs, which allow homeowners to reduce energy consumption and utility bills via intelligent HVAC controls. The acquisition represents a major step forward in the Company&#x2019;s efforts to provide a broader residential energy ecosystem that includes a sophisticated user interface platform to allow homeowners to take charge of their energy generation, storage, consumption, and management through a &#x201c;single pane of glass&#x201d; with the ultimate goal of creating a more sustainable energy infrastructure that is increasingly decarbonized, digitized and decentralized.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">As we look to the future, we expect to make continued investment in the people, processes and capabilities involved in the development of these residential clean energy technologies,&#xa0;as we work to further broaden our product offering and distribution network. In 2022, we built out our energy technology management team that brings decades of industry leadership experience as well as robust technical expertise. Under this new leadership team, we expect to fully integrate our energy technology investments under a common strategy that we believe will help accelerate growth in the future. Additionally, the policy backdrop for these growing markets, underscored by the Inflation Reduction Act and other state regulations, provides the necessary potential for long-term, value-creating investments. With this opportunity in front of us, we plan to build out our residential energy technology capabilities and our suite of products &amp; solutions as we expect to play an important role in the transition to a cleaner, more sustainable, and more reliable electric grid.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Generac&#x2019;s efforts in expanding its energy technology solutions also cover C&amp;I and international markets as well. In June 2021, the Company acquired Deep Sea Electronics Limited, a UK-based designer and manufacturer of advanced controls for a range of power generation and micro-grid applications used around the world. In September 2021, Generac acquired Off Grid Energy Ltd., a UK-based designer and manufacturer of industrial-grade mobile energy storage systems serving predominantly European markets.&#xa0;The Company advanced its C&amp;I connectivity strategy with the October 2022 acquisition of Blue Pillar, an industrial internet of things (IoT) platform developer that designs, deploys, and manages industrial IoT solutions. Blue Pillar provides a foundation to build out a connectivity solution for our C&amp;I products to further enable their use in grid services programs. Finally, in February 2023, Generac acquired REFU Storage Systems GmbH, a developer and supplier of battery storage hardware products, advanced software and platform services for the commercial and industrial market. REFU&#x2019;s energy storage systems will complement and enhance our current global product offerings and will further accelerate our development of new technologies as we continue to provide our commercial and industrial consumers with leading solutions for their adoption of renewable energy. These acquisitions will collectively help lay the groundwork to further advance our energy technology strategies across C&amp;I markets around the world.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">For a complete summary of recent acquisitions, please see Note 1, &#x201c;Description of Business,&#x201d; to the consolidated financial statements in Item 8 of this Annual Report on Form 10-K.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Products and Solutions</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">We design, manufacture, and distribute a broad range of energy technology products and solutions. We design and manufacture stationary, portable and mobile power generators with single-engine outputs ranging between 800W and 3,250kW. We have developed a line of turn-key energy storage systems for use in residential solar-plus-storage applications. We also have a line of industrial-grade mobile energy storage systems that serve the global rental equipment markets. We have a growing selection of energy monitoring and management devices that serve to build out our residential energy ecosystem product offering. We participate in the market for grid services by providing distributed energy optimization and control software to utilities and other grid operators. Other power products that we design and manufacture include light towers and a broad line of outdoor power equipment that we refer to as &#x201c;chore products&#x201d;, which includes a variety of property maintenance equipment powered by both engines and batteries. We classify our products into three categories based on similar range of power output geared for varying end customer uses: Residential products, Commercial &amp; Industrial (C&amp;I) products and Other products &amp; services. The following summary outlines our portfolio of products and solutions, including their key attributes and customer applications.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Residential Products</i></b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Our residential automatic standby generators range in output from 7.5kW to 150kW, which predominantly operate on natural gas and liquid propane, and are permanently installed with an automatic transfer switch, which we also manufacture. Air-cooled engine residential standby generators range in outputs from 7.5kW to 26kW and serve as an emergency backup for small to medium-sized homes. Liquid-cooled engine generators serve as emergency backup for larger homes and small businesses and range in output from 22kW to 150kW.</p>
  <div style="display: none;">
    &#xa0;
  </div>
  <p style="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     3
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">As the product category leader, we believe we have the broadest line of home standby generators in the marketplace and all of them are offered as Smart Grid Ready, which enables customers to connect and enroll their generator as a distributed energy resource in available grid services applications. The deployment of our residential generators in grid services applications where available can improve grid resiliency, while also offering a direct financial incentive for homeowners to participate in these grid services programs, which can help to partially offset the purchase cost of the generator over the product's lifespan. This functionality leverages our remote monitoring system for home standby generators called Mobile Link&#x2122;. This remote monitoring capability is a standard, WiFi-enabled feature on every home standby generator that we offer and allows our customers to check the status of their generator conveniently from their smart phone or tablet, and also provides the capability to similarly receive maintenance and service alerts. The data that is provided by this remote monitoring functionality allows us to better understand our installed base of products, while optimizing both product quality and customer satisfaction.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Leveraging the technologies acquired in the 2019 acquisition of Pika Energy, we have developed a line of clean energy products marketed under the Generac brand and using the name PWRcell&#x2122;. This residential&#xa0;storage solution consists of a system of batteries, an inverter, photovoltaic (PV) optimizers, power electronic controls, and other components. This system captures and stores electricity from solar panels or other power sources and helps reduce home energy costs while also protecting homes from shorter duration power outages. PWRcell can range in size from 9kWh up to 36kWh of storage capacity. Our PWRcell energy storage systems also have Smart Grid Ready capabilities, empowering homeowners to contribute to grid stability and earn an incremental return on investment by connecting to grid services programs, which can help to partially offset the purchase cost of the system over the product's lifespan.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">In 2021, we acquired ecobee, a leader in sustainable smart home solutions such as smart thermostats and a suite of home monitoring products, all designed with a focus on conservation, convenience, peace of mind and comfort. ecobee&#x2019;s smart home energy management devices and complementary sensors intelligently optimize heating and cooling systems, often the largest energy consuming system within a home, to deliver significant energy savings for homeowners. In addition, we are leveraging ecobee&#x2019;s cutting-edge technologies and software development expertise to create a user interface platform, or &#x201c;single pane of glass&#x201d; to allow homeowners to monitor and control Generac&#x2019;s entire suite of products using one common interface. These capabilities will help allow the creation of a clean, efficient, and reliable smart home energy ecosystem capable of connecting to our grid services distributed energy resource management software (DERMS)&#xa0;called Concerto.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">In 2022, we launched PWRmanager, the second generation of our load management controls, allowing customers to program and remotely control certain loads in a house and thereby manage battery run times from their smart phones or tablets.&#xa0;We also entered the smart water heater controller market in 2021 via the acquisition of Apricity Code, an advanced engineering and product design company that has developed certain products which help homeowners reduce energy consumption and utility bills by intelligently managing the timing of a water heater&#x2019;s energy consumption. Through ecobee, PWRmanager and Apricity, we are expanding our suite of grid edge devices that can be deployed in grid services applications, offering increased energy savings and economic benefits to a larger segment of the population. We also added IoT propane tank monitoring solutions with the 2021 acquisition of Tank Utility to further optimize propane fuel logistics. This addition expands Generac&#x2019;s connectivity functionality and provides incremental value to our dealers and peace of mind to our home standby generator owners that use propane as a fuel source. The capabilities acquired via ecobee, Apricity Code, and Tank Utility, paired with our existing remote monitoring system, provide the foundation for Generac&#x2019;s residential connectivity strategy, which will be integral in the continued development of our smart home energy ecosystem.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">We are developing additional new Generac-branded clean energy products that we expect to bring to market as we continue to build out a broader range of residential clean energy solutions, giving our distributors access to a more diverse line up of products that can serve a variety of applications. We are developing a rooftop MLPE solution to be used in residential solar solutions that will allow Generac to participate in residential solar installations that do not include an energy storage system. Additionally, we currently anticipate launching PWRgenerator during 2023, a one-of-a-kind natural gas generator with DC output that is purpose-built to re-charge PWRcell energy storage systems. This innovative new product is more fuel-efficient and quieter than our traditional home standby generators and can enable grid independence for homeowners.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">We also provide a broad product line of portable and inverter generators that range in size from 800W to 17.5kW, and in 2022, we introduced multiple portable battery solutions that provide clean, emission-free power at the push of a button. These products serve as an emergency home backup source of electricity and are also used for construction and recreational purposes. Our portable generators are targeted at homeowners, with price points ranging between the consumer value end of the market through the premium homeowner market; at professional contractors, starting at the value end through the premium contractor segment; and at the recreational market with our inverter generator products, which are quieter than traditional portable generators. In addition, we offer manual transfer switches to supplement our portable generator product offering.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">We provide a broad product line of outdoor power equipment referred to as chore products, which are used in property maintenance applications for larger-acreage residences, commercial properties, municipalities, and farms. These products include trimmers, field and brush mowers, log splitters, stump grinders, chipper shredders, lawn and leaf vacuums, pressure washers and water pumps. We also offer commercial-grade, battery-powered turf care products through Mean Green Products, which was acquired in 2020. In addition to Generac&#x2019;s efforts to expand Mean Green&#x2019;s production capacity and distribution capabilities, this acquisition will help to accelerate the electrification of our higher-powered lineup of chore products. Chore products are largely sold in North America through direct-to-consumer online catalogs, retail hardware stores, and outdoor power equipment dealers primarily under the DR&#xae; brand name.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Residential products comprised 63.8%, 65.8% and 62.6%, respectively, of total net sales in 2022, 2021 and 2020.<sup style="vertical-align:top;line-height:120%;font-size:pt"> </sup></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>&#xa0;</i></b></p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       4
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Commercial &amp; Industrial</i></b><b><i>&#xa0;P</i></b><b><i>roducts</i></b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We offer a full line of C&amp;I generators that are sold around the world. We are a leader in cleaner-burning natural gas fueled generators, and also have a full offering of C&amp;I generators that are fueled by diesel and Bi-Fuel<sup style="vertical-align:top;line-height:120%;font-size:pt">TM</sup>. We believe we have one of the broadest product offerings in the industry with power outputs ranging from 10kW up to 3,250kW. Through the Deep Sea acquisition in 2021, we have expanded our capabilities in the design and manufacture of advanced controls for a range of C&amp;I power generation applications, such as microgrids and Energy-as-a-Service. Our natural gas C&amp;I stationary generators have Smart Grid Ready capabilities, enabling our customers to contribute to grid resiliency and generate an incremental return on investment by connecting and enrolling their generator as a distributed energy resource used in grid services applications where available.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 8pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Our light-commercial standby generators and related transfer switches include a full range of affordable systems from 22kW to 150kW, providing three-phase power sufficient for most small and mid-sized businesses such as grocery stores, convenience stores, restaurants, gas stations, pharmacies, retail banks, small health care facilities and other small-footprint retail applications. Our light-commercial generators predominantly run on&#xa0;natural gas and liquid propane.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">We design and manufacture a broad product line of modelized and configured stationary generators and related transfer switches for various industrial standby, continuous-duty, and prime rated applications. Our single-engine industrial generators range in output from 10kW up to 3,250kW, include stationary and containerized packages, and can include our Modular Power Systems (MPS) technology that extends our product range up to much larger multi-megawatt systems through an integrated paralleling configuration. Over the past several years, we have introduced larger and higher-powered gaseous-fueled generators, with the highest output of 1,000kW for a single-engine set. Our industrial standby generators are primarily used as emergency backup for larger applications in the healthcare, telecom, datacom, commercial office, retail, municipal and manufacturing markets. In recent years, we've focused our efforts to utilize our gaseous-fueled generators in "beyond standby" applications including distributed generation and microgrid projects and have developed purpose-built products for these applications that have grid-connected capability. The addition of Smart Grid Ready functionality and the significant expansion of our in-house advanced controls capabilities further enhances the potential utilization of our generators in these applications.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Our MPS technology combines the power of several smaller generators to produce the output of a larger generator, providing our customers with redundancy and scalability in a cost-effective manner. For larger industrial applications, our MPS products offer customers an efficient, affordable way to scale their standby power needs, while offering superior reliability given their built-in redundancy which allows individual units to be taken off-line for routine maintenance while retaining coverage for critical circuits.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">We also offer a full line of industrial transfer switches to meet varying needs from light industrial applications all the way up to the most demanding critical installations. Over the last couple of years, we have significantly increased and upgraded our industrial transfer switch product offering, which we believe will help to enhance our attachment rate and related market share for these products. Generac&#x2019;s innovative feature set and flexible platforms offer a variety of switching technologies for customized solutions to meet any project needs.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">We also provide a broad product line of C&amp;I mobile products such as light towers, mobile generators, and mobile energy storage systems, which provide temporary lighting and power for various end markets, such as road and commercial construction, energy, mining, military, and special events. We also manufacture commercial mobile pumps and dust-suppression equipment for a wide variety of applications. These mobile products are typically sold to national and regional rental companies who then rent the equipment to the end user.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">As we advance further into energy technology for C&amp;I applications, we believe the acquisitions of Off Grid Energy in 2021 and REFU Storage Systems in February 2023 will enable us to capture share of the rapidly expanding Battery Energy Storage System (or BESS) market in the future. We will also continue to develop other energy technology products, such as hybrid mobile solutions that pair an energy storage system with a diesel generator to reduce emissions and noise pollution, as well as mobile battery-powered light towers. We will also continue to sell various gaseous-engine control systems and accessories, which are sold to gas-engine manufacturers and aftermarket customers.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">C&amp;I products comprised 27.6%, 26.7% and 28.3%, respectively, of total net sales in 2022, 2021 and 2020.<sup style="vertical-align:top;line-height:120%;font-size:pt"> </sup></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     5
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Other </i></b><b><i>P</i></b><b><i>roducts</i></b><b><i> and Services</i></b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Our &#x201c;Other Products and Services&#x201d; category primarily consists of aftermarket service parts and product accessories sold to our customers, installation and maintenance services, extended warranty revenue, grid services revenue paid by utilities, remote monitoring subscription revenue, and other service offerings provided by our owned industrial distributors.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Included in this &#x201c;Other Products and Services&#x201d; category are revenues from Generac Grid Services (GGS), which was formed in September 2021 and builds upon our 2020&#xa0;Enbala acquisition. The formation of GGS formalized our efforts in the market for grid services by creating a focused team that collaborates across the enterprise to sell turn-key hardware and software solutions used by utilities and grid operators that enable the connection of DERs to help support the operational stability of the world&#x2019;s power grids. Generac&#x2019;s Concerto energy-balancing software platform provides a highly flexible approach for creating controllable and dispatchable energy resources from flexible loads, energy storage and renewable energy and gives utilities and grid operators the flexibility to operate virtual power plants in real-time to better manage the escalating complexities of increasingly variable energy assets. The Concerto software platform also enables Generac to enter into performance contracts, in which the Company recruits, aggregates, and manages a fleet of DERs with the purpose of efficiently managing and monetizing power capacity to utilities and grid operators.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The acquisition of ecobee further enhanced our efforts in grid services. In addition to smart home energy management product sales, ecobee recognizes service revenue resulting from the value its platform provides in connecting its devices to grid services programs, enabling direct monitoring and control of a significant portion of the home&#x2019;s electrical load. The addition of this capability increases Generac&#x2019;s share of the grid services market and meaningfully enhances Generac&#x2019;s software development capabilities.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The 2022 acquisition of Blue Pillar expanded our C&amp;I connectivity capabilities and enhanced our grid services offerings for C&amp;I customers by providing a standard protocol for all of our C&amp;I products to be connected to our Concerto platform. In addition to connectivity device sales, Blue Pillar recognizes software and support revenue resulting from the monitoring and management capabilities its platform provides customers.&#xa0;Our Mobile Link subscription service provides this same service for our residential home standby customers, whereby we collect subscription revenue for this remote monitoring service.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Other products and services comprised 8.6%, 7.5% and 9.1%, respectively, of total net sales in 2022, 2021 and 2020.<sup style="vertical-align:top;line-height:120%;font-size:pt"> </sup></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Mega-Trends, Strategic Growth Themes, and Additional Business Drivers</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">In 2021, we unveiled our &#x201c;Powering A Smarter World&#x201d; strategic plan, which serves as the framework for the significant investments we have made and will continue to make to capitalize on the long-term growth prospects of Generac. Our enterprise strategy is&#xa0;based on the combination of several key mega-trends that we believe&#xa0;will drive several significant strategic growth themes for our business.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Key Mega-Trends: </i></b></p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:34pt;">&#xa0;</td>
     <td style="vertical-align:top;width:18pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><i>&#x201c;Grid 2.0</i>&#x201d;:&#xa0;which is the evolution of the traditional electrical utility model as supply/demand imbalances are created due to the accelerating adoption of renewable energy generation and the &#x201c;electrification of everything&#x201d; in society&#x2019;s energy consumption. It includes the decarbonization, digitization, and decentralization of the grid and a migration toward distributed energy resources that is expected to drive demand for a variety of clean energy and grid services solutions going forward.</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 34pt; text-align: justify;">&#xa0;</td>
     <td style="vertical-align:top;width:18pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><i>Impact of climate change: </i>which includes the expectation of more volatile and severe weather driving increased power outage activity, and more global regulation accelerating renewable investments.&#xa0;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 34pt; text-align: justify;">&#xa0;</td>
     <td style="vertical-align:top;width:18pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><i>Natural gas as&#xa0;an important transition fuel to&#xa0;the future: </i>as natural gas will remain in demand as a source of cleaner, reliable power generation for backup power and beyond standby applications, compared to diesel fuel.&#xa0;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 34pt; text-align: justify;">&#xa0;</td>
     <td style="vertical-align:top;width:18pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><i>Legacy infrastructure needs a major investment cycle:</i>&#xa0;to rebuild and upgrade aging networks and systems including transportation, water and power.</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 34pt; text-align: justify;">&#xa0;</td>
     <td style="vertical-align:top;width:18pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><i>Telecommunications infrastructure shifting to next generation:</i>&#xa0;which involves&#xa0;the &#x201c;5G&#x201d;&#xa0;architecture that will enable new technologies requiring significant improvement in network uptime through backup power solutions.</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 34pt; text-align: justify;">&#xa0;</td>
     <td style="vertical-align:top;width:18pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><i>Home as a Sanctuary:</i>&#xa0;in recent years, there has been a trend of more people working, shopping, entertaining, aging in place, and generally spending more time at home. As a result of this and the &#x201c;electrification of everything&#x201d; trend, homeowners are becoming increasingly sensitive to power outages due to lost productivity and functionality. These trends combined with ongoing elevated power outage activity has led to significantly increased awareness regarding the importance and need for backup power security.</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><i><b>Strategic Growth Themes:</b></i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><i>Power quality issues continue to increase</i>.&#xa0;Power disruptions are an important driver of consumer awareness for back-up power and have historically influenced demand for generators, both in the United States and internationally. Increased frequency and duration of major power outage events, that have a broader impact beyond a localized level, increases product awareness and may drive consumers to accelerate their purchase of a standby or portable generator during the immediate and subsequent period, which we believe may last for six to twelve months following a major outage event. Energy storage systems offer similar resiliency advantages to consumers and can benefit from these same awareness drivers, at least for short duration power outages. The optional standby market for C&amp;I power generation is also driven by power quality issues and the related need for backup power. Attitudes around climate change have shifted and undergone increased global focus, and an aging and underinvested electrical grid infrastructure remains highly vulnerable to the expectation of more volatile and severe weather. Additionally, rapid growth in renewable power sources such as solar and wind is resulting in increased intermittency of supply, further impairing the reliable supply of electricity at a time when demand is starting to increase meaningfully with the electrification of a wide range of consumer and commercial products, including transportation, HVAC systems, and other major appliances. These developments are causing a growing supply/demand imbalance for grid operators across North America, which has led to recent high-profile examples of rolling blackouts necessary to maintain grid integrity. In fact, the North American Electric Reliability Corporation has labeled significant portions of the continent as being at high risk of resource adequacy shortfalls during normal seasonal peak conditions in the 2023-2027 period due in part to these supply/demand dynamics.&#xa0;Further, in California, Public Safety Power Shutoff events have occurred whereby public utilities are turning off power supply to their customers under certain circumstances to prevent their transmission equipment from starting wildfires, which we anticipate may continue in the future. Taken together, we expect these factors to continue driving increased awareness of the need for backup power and demand for Generac&#x2019;s products within multiple categories.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       6
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Home standby penetration opportunity is significant</i>.&#xa0;Many potential customers are still not aware of the costs and benefits of automatic backup power solutions. With only approximately<span style="color:#000000;">5.75%</span> penetration of the addressable market of homes in the United States (which we define as single-family detached, owner-occupied households with a home value of ov<span style="color:#000000;">er $150,000, as defined by the U.S. Census Bureau's 2021&#xa0;</span>American Housing Survey for the United States), we believe there are significant opportunities to further penetrate the residential standby generator market both domestically and internationally. We believe by expanding our distribution network, continuing to develop our product lines, and targeting our marketing efforts, we can continue to build awareness and increase penetration for our home standby generators. Additionally, Smart Grid Ready capabilities have the potential to turn an asset previously utilized only in emergency power outage situations into a source of recurring revenue for the homeowner and a contributor to grid stability for utilities and grid operators, therefore driving incremental interest in the product category.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Solar, storage, and energy management markets developing quickly</i>.&#xa0;We believe the electric utility landscape will undergo significant changes in the decade ahead due to rising utility rates, grid instability and power quality issues, environmental concerns, and the continuing performance and cost improvements in renewable energy and batteries. On-site power generation from renewable sources such as solar and wind, and cleaner-burning natural gas generators is projected to become more prevalent as will the need to monitor, manage, and store this power &#x2013; potentially developing into a significant market opportunity. We expect to further advance our capabilities in clean energy by increasing our product development, sourcing, distribution, and marketing efforts, as we leverage our significant competencies in the residential standby generator market to augment our market position in the emerging residential solar, storage, monitoring and management markets.&#xa0;Additionally, these markets are receiving an increasing level of regulatory and legislative support, most notably from the Inflation Reduction Act that was passed in 2022.&#xa0;This legislation includes significant subsidies and investment tax credits for consumers and business over the coming decade and provides necessary opportunity for long-term, value-creating investments for market participants.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Grid services and Energy-as-a-Service open new revenue streams</i>.&#xa0;We expect the evolution of the traditional electrical utility model toward decarbonized, digitized, and decentralized solutions will continue to drive the need for grid operators to access and control DERs. This will require highly intelligent software platforms that are able to optimize an increasingly complex supply and demand equation, such as our Concerto software platform. As the grid services market matures, Generac will continue to explore opportunities beyond the traditional software-as-a-service subscription model, including but not limited to the aggregation and sale of power from a fleet of DERs in performance-based contracts, wholesale power market participation, turn-key solutions that combine hardware and software with services, and other monitoring and management services. Additionally, growing interest in our C&amp;I products across a variety of &#x201c;beyond standby&#x201d; applications is driving an increase in demand for subscription-like models for end customers, in which Generac will partner with third parties to deliver peace of mind and resiliency solutions while also enabling contributions to grid stability with minimal upfront capital outlays. The significant advancements made in recent years in the connectivity of our products is core to these newer capabilities, which play a key role in the evolution of Generac into an energy technology solutions company.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Natural gas generators driving strong</i>&#xa0;<i>growth</i>.&#xa0;We believe natural gas will continue to be an important and cleaner transition fuel of the future, in comparison to diesel, as the world continues to shift towards lower emission power generation sources. Demand for natural gas generators continues to represent an increasing portion of the overall C&amp;I market, which we believe will continue to grow at a faster rate than traditional diesel fueled generators. We also continue to explore and expand our capabilities within new gaseous generator market opportunities, including continuous-duty, prime rated, distributed generation, demand response, microgrids and overall use as a distributed energy resource in areas where grid stability is needed. Many of these applications are made possible by our natural gas generators having Smart Grid Ready capabilities, which allows for end users to participate in available grid services programs, helping to offset the purchase price of the equipment over the product&#x2019;s lifespan. Expanding our natural gas product offering into larger power nodes is also a part of this growth theme in taking advantage of the continuing shift from diesel to natural gas generators.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Rollout of 5G will require improved network reliability</i>.&#xa0;As the number of &#x201c;connected&#x201d; devices continues to rapidly increase and wireless networks are now being considered critical infrastructure in the United States, network reliability and up-time are necessary for our increasingly connected society. This will require highly resilient cell tower sites across the network, and therefore necessitates the need for backup power sources on site at these cell towers. Generac is the leading supplier of backup power to the telecommunications market in the United States, where approximately half of all existing tower sites have yet to be hardened with backup power. As more mission-critical data is transmitted over wireless networks, we believe this penetration rate must increase considerably to maintain a higher level of reliability across the network. Increased adoption of high-speed wireless networks around the globe may lead to similar demand trends internationally as growing cell tower density and the need for onsite backup power expand the market opportunity for our international telecom&#xa0;products. We have relationships with key Tier 1 carriers and tower companies globally in addition to having the distribution partners to support the global market from a service standpoint. We believe these factors coupled with Generac&#x2019;s ability to customize solutions to each customer&#x2019;s needs help us to maintain our strength within the global telecommunications market.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       7
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><i><b>Other Business Drivers</b></i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Impact of residential investment cycle.</i>&#xa0;The market for a number of our residential products is affected by the residential investment cycle and overall consumer confidence and sentiment.&#xa0;When homeowners are confident of their household income, the value of their home and overall net worth, they are more likely to invest in their home. These trends can have an impact on demand for residential generators and energy storage systems. Trends in the new housing market, highlighted by residential housing starts, can also impact demand for these products. Demand for outdoor power equipment is also impacted by several of these factors, as well as weather patterns.&#xa0;Finally, the existence of renewable energy mandates, investment tax credits and other subsidies, which have become even more prevalent with the recent passing of the Inflation Reduction Act, can also have an impact on the demand for solar and energy storage systems.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Impact of business capital investment and other economic cycles.&#xa0;</i>The global market for our commercial and industrial products is affected by different capital investment cycles, which can vary across the numerous regions around the world in which we participate. These cycles&#xa0;include non-residential building construction, durable goods and infrastructure spending, as well as investments in the exploration and production of oil &amp; gas, as businesses or organizations either add new locations or make investments to upgrade existing locations or equipment. These trends and market conditions can have a material impact on demand for these products. The capital investment cycle may differ for the various commercial and industrial end markets that we serve including light commercial, retail, office, telecommunications, industrial, data centers, healthcare, construction, oil &amp; gas and municipal infrastructure, among others. The market for these products is also affected by general economic and geopolitical conditions in the countries where we serve, as well as credit availability in those regions.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Enterprise Strategy</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The mega-trends and strategic growth themes that we have identified help to inform our new enterprise strategy, &#x201c;Powering A Smarter World,&#x201d; and our purpose statement, &#x201c;Leading the evolution to more resilient, efficient, and sustainable energy solutions.&#x201d; As we continue to execute our strategic plan into the future, we are focused on building out residential and C&amp;I ecosystems of connected energy solutions to help address a growing electricity supply/demand imbalance problem by focusing on three key objectives: (i) improve energy resilience and independence, (ii) optimize energy efficiency and consumption, and (iii) protect and build critical infrastructure.&#xa0;These objectives are further explained as follows:</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"><i>Improve energy resilience and independence.</i> Increase power reliability through onsite generation and storage solutions that provide resiliency for homes, businesses and communities.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Homes, businesses, and communities are experiencing a deterioration in the reliable supply of electricity due to a number of factors including: climate change impacts driving more severe and volatile weather leading to increased power outages; a capacity constrained legacy power infrastructure that&#x2019;s still predominantly a one-way system and remains heavily reliant on fossil fuels; the power infrastructure being impaired by underinvestment making it more susceptible to power outages; and regulatory and legislative actions implementing penalties for carbon intensity coupled with incentives for adoption of more intermittent renewable power sources.&#xa0;Our residential and C&amp;I product offering begins with power generation and storage products including home standby generators, energy storage systems, and C&amp;I generators.&#xa0;These onsite generation and storage solutions provide peace of mind and protection against rising power quality issues by delivering energy resilience and independence for end users and their communities.&#xa0;Our PWRgenerator, that is expected to start shipping in 2023, is a DC generator that is purpose built to charge our PWRcell energy storage system.&#xa0;With this capability, an end user could conceivably be completely independent from the grid by using sustainable solar energy to power their home, with the PWRgenerator used to recharge the PWRcell should the battery be depleted at certain points of the day. Importantly, many of these onsite solutions come standard as &#x201c;Smart Grid Ready&#x201d; and are capable of participating in available grid services programs, which provide additional return on investment opportunities for end users while at the same time helping to support grid reliability, resiliency and sustainability.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       8
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 8pt; text-indent: -9pt;"><i>Optimize energy efficiency and consumption.</i> Enable sustainable and more efficient power generation and consumption through monitoring, management and lower-carbon solutions.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The &#x201c;electrification of everything&#x201d; is expected to drive increasing demand for electricity over the next several years, including the electrification of transportation, via both electric vehicle adoption and expanding charging infrastructure, the electrification of the home, including HVAC systems and other appliances, and the electrification of commercial and industrial systems. These global electrification trends will require utilities and energy retailers to meaningfully increase the supply and reliability of electricity, while at the same time working to achieve carbon-reduction goals, which is expected to further contribute to a supply/demand imbalance and additional power quality issues. As part of our expanding ecosystems of energy technology solutions, we continue to build out our residential monitoring and management capabilities, which improve energy efficiency and optimize consumption by end users.&#xa0;This includes ecobee&#x2019;s smart home energy management devices, Apricity&#x2019;s water heater controllers, Tank Utility&#x2019;s propane tank monitoring solutions, and PWRmanager, our second-generation load control device. In the future, we expect to simplify and integrate our residential product offering into a single ecosystem, leveraging our software development capabilities and the substantial resources brought by the ecobee acquisition. This singular system-level platform is intended to serve as the user interface for consumers to monitor and manage all&#xa0;their DERs, thereby empowering the user to optimize energy efficiency and consumption. Within our global C&amp;I products, we are developing bi-directional natural gas generators and system-level micro-grid controls.&#xa0;In addition, Blue Pillar&#x2019;s Industrial IoT network software solutions enable distributed energy generation monitoring and control, helping businesses to better optimize their energy efficiency and consumption. These enhanced connectivity capabilities provide the foundation for the future build out of a centralized system-level platform for our C&amp;I customers to monitor and manage all of their DERs.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><i>Protect and build critical infrastructure.</i><b><i> </i></b>Offering innovative solutions that enable and protect next-generation power, communications, transportation and other critical infrastructure.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The critical power infrastructure around the world is becoming more sensitive to the growing electricity supply/demand imbalance. Generac&#x2019;s suite of solutions can be connected and synchronized within the Concerto distributed energy resource management system, providing utilities and grid operators the flexibility to access and control these DERs in real-time to better manage the escalating complexities of their electrical grids.&#xa0;When utilized in these applications, our residential and C&amp;I ecosystems of DERs essentially provide power capacity to utilities and grid operators, enabling the adoption of renewable energy sources by helping solve the intermittency challenges presented by renewable power generation. We believe the next generation of critical power infrastructure will be more decarbonized, digitized and decentralized, and we view the implementation, aggregation and management of distributed energy resources as an important aspect in creating the future &#x201c;Grid 2.0&#x201d;. Additionally, the rollout of 5G telecom networks globally and the growing consideration of these wireless networks as critical infrastructure makes our backup power solutions for telecommunications applications essential elements of a wireless network that cannot afford to experience power failure. Finally, our broad offering of global mobile solutions, including mobile power generators, mobile energy storage systems and hybrid generators, play a key role in the completion of infrastructure construction projects, such as roads, highways, bridges, and airports.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">See &#x201c;Item 7, Management&#x2019;s Discussion and Analysis of Financial Condition and Results of Operations &#x2013; Business Drivers and Operational Factors&#x201d; for additional drivers that influence demand for our products and other factors affecting the markets that we serve.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Distribution Channels and C</b><b>ustomers</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We distribute our products through a variety of different distribution channels to increase awareness of our product categories and brands, and to ensure our products reach a broad, global customer base. This omni-channel distribution network includes independent residential dealers, industrial distributors and dealers, national and regional retailers, e-commerce partners, electrical/HVAC/solar wholesalers, solar installers, catalogs, equipment rental companies, and equipment distributors. We also sell direct to certain national and regional account customers, which include utilities, telecommunications providers and original equipment manufacturers, as well as to individual consumers or businesses who are the end users of our products.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">We believe our global distribution network is a competitive advantage that has strengthened over the years as a result of adding, expanding and developing the various distribution channels through which we sell our products. We offer a broad set of tools, programs, factory support, and sales leads to help our distribution partners be successful. Our network is well balanced with no single customer providing more than 4% of our sales in 2022.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">We have the industry's largest network of factory direct independent generator dealers in North America. Our residential dealer network is made up of electrical and HVAC contractors across the US and Canada. These dealers sell, install and service our residential and light commercial generators to end users. Over the years, we have made significant investments to grow this dealer network, and we will continue to make those investments in the future given the importance of this channel. We continue to focus on a variety of initiatives to market and sell our home standby products and better align our dealer network with Generac more effectively. These initiatives have helped to improve customer lead quality and develop our dealers, thereby increasing close rates and lowering our cost per lead. In 2021, we implemented the next generation of our &#x201c;Power Play&#x201d; guided sales process for residential dealers, making enhancements in several areas targeted to improve the customer experience and overall close rates. Additionally, our remote monitoring platform allows our residential generator dealers to monitor their installed base of customers through a feature that we call &#x201c;Fleet&#x201d;, enabling them to offer a more proactive experience to service a customer&#x2019;s generator.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       9
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Since 2020, we have been leveraging these dealer development practices to assist in establishing our base of solar contractors that sell, install and service our PWRcell energy storage systems.&#xa0;Leveraging our decades of expertise in partnering with our residential generator dealers, we believe we can expand our solar installer network and increase mindshare for Generac&#x2019;s products, helping us to win in the clean energy market. In addition, we have been developing distribution relationships with national solar providers to offer our equipment in their portfolio of products and services.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Our industrial network consists of a combination of primary distributors that cover a particular region, as well as a&#xa0;network of support dealers serving the global market. Over the past five years, we have been expanding our dealer network globally through acquisitions and organic means, in order to expand our international sales opportunities. Additionally, since 2020, we have acquired our industrial distributors in northern and southern California and New England to give us direct coverage of the west coast and northeast regions of the United States and accelerate our efforts in these parts of the country. The industrial distributors and dealers provide industrial and commercial end users with ongoing sales, installation, service and product support. Our industrial distributors and dealers help maintain the local relationships with commercial electrical contractors, specifying engineers and national account regional buying offices. We also sell to certain Engineering, Procurement and Construction (EPC) companies and other companies that specialize in managing more complex power generation projects, including microgrid projects and Energy-as-a-Service applications.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Our retail distribution channel includes thousands of locations across the globe and includes a variety of regional and national home improvement chains, retailers, clubs, buying groups, hardware stores and farm supply stores. These physical retail locations are supplemented by a growing presence of e-commerce retailers, along with a number of catalog retailers. The retail channel primarily sells our residential standby, portable and light-commercial generators, as well as our outdoor power equipment and ecobee&#x2019;s smart home energy management devices. The placement of our products at retail locations drives significant awareness for our brands and the automatic home standby generator product category.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Our wholesaler network distributes our residential and light-commercial generators, energy storage systems, and smart home energy management devices. The channel consists of selling branches of both national and local distribution houses for electrical, HVAC and solar products on a wholesale basis, which in turn typically sell to electricians and solar installers who are not in our dealer network.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On a selective basis, we have established private label and licensing arrangements with third party partners to provide residential, light-commercial and industrial generators under different brand names. These partners include leading home equipment, electrical equipment and construction machinery companies, each of which provides access to incremental channels of distribution for our products.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The distribution for our C&amp;I mobile products includes international, national, regional and specialty equipment rental companies, equipment distributors and construction companies, which primarily serve non-residential building construction, road construction, energy markets and special events.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">We also sell direct to certain customers that are the end users of our products covering a number of end market verticals both domestically within the US and around the world. This includes telecommunication, retail, banking, energy, utilities, healthcare, convenience stores, grocery stores, restaurants, and other commercial applications. Additionally, certain of our residential products are sold direct to individual consumers, who are the end users of the product. In the grid services space, Generac Grid Services sells software, equipment, and power capacity direct to utilities and grid operators.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Research and D</b><b>evelopment </b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Our focus on a broad range of energy technology products and solutions drives technological innovation, advanced engineering capabilities, and specialized manufacturing competencies. Research and development (R&amp;D) has been a core competency for Generac since our inception, and today includes a staff of approximately&#xa0;<span style="color:#000000;">1,000 e</span>ngineers working on numerous projects at various facilities around the world, including our technology centers located in Waukesha, Wisconsin, Bedford, Massachusetts, Suzhou, China, and Mexico City, Mexico. These activities are focused on developing new technologies and product enhancements, as well as maintaining product competitiveness by reducing manufacturing costs, improving safety characteristics, reliability and performance while ensuring compliance with regulatory standards. We have significant experience using natural gas engines and have developed specific expertise with fuel systems and emissions technology. In the residential and light commercial markets, we have developed proprietary engines, cooling packages, controls, fuel systems and emissions systems.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">We have made several acquisitions in recent years that significantly enhanced our R&amp;D capabilities. This includes substantial technical resources in energy storage, monitoring and power conversion for residential applications, as well as in the C&amp;I mobile energy storage space. These resources add proficiency in power electronics and battery management software, and we have also added considerable expertise in designing and prototyping energy efficiency products. We have significantly increased our software development capabilities across a variety of applications, including system-level controls, remote monitoring, and distributed energy resource management systems. By combining advanced software development with the expansion of our electrical engineering resources, we expect to accelerate our energy technology efforts.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">We also have engineering and product management resources focused on evaluating and developing alternative technologies that are emerging and could become commercially viable over the long term such as fuel cells, a technology that we have also begun to explore commercially with certain equity investments and distribution agreements in 2022. As we continue to evaluate new technologies that are more decarbonized, digitized, and decentralized, we believe that our expertise in energy technology solutions provides us with the capability to develop new products and services that will allow continued diversification and differentiation in our end markets.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       10
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>I</b><b>ntellectual P</b><b>roperty</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">We are committed to research and development, and we rely on a combination of patents and trademarks to establish and protect our proprietary rights. Our patents protect certain features and technologies we have developed for use in our products including fuel systems, air flow, electronics and controls, noise reduction,&#xa0;air-cooled engines, energy management, energy monitoring, energy storage, and load management. We believe the existence of these patents and trademarks, along with our ongoing processes to register additional patents and trademarks, protect our intellectual property rights and enhance our brands and competitive position. We also use proprietary manufacturing processes that require customized equipment. With our continuous focus on research and development, we expect to develop new intellectual property on an ongoing basis.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Manufacturing</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We operate numerous manufacturing plants, distribution facilities and inventory warehouses located throughout the world. We store finished goods at third-party logistics providers in the United States that accommodate material storage and rapid response requirements of our customers. See &#x201c;Item 2 &#x2013; Properties&#x201d; for additional details regarding the locations and activities of our principal operations.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">In recent years, we have added and continue to add manufacturing capacity through investments in automation, improved utilization, and the expansion of our manufacturing footprint through organic means as well as through acquisitions. Key examples of organic expansion include the significant additions to our manufacturing footprint in recent years with&#xa0;new facilities in Trenton, South Carolina for home standby generators, Hidalgo, Mexico for the production of C&amp;I generators, and Hamilton, Ohio for the production of electrified chore products. As demand for our products has increased significantly over the last few years, our ability to increase capacity has been and will be critical to executing our strategic growth priorities. We believe our vertical integration and scale in home standby generators provides a material benefit in our ability to maintain industry-leading output with state-of-the-art manufacturing processes.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Suppliers of Raw M</b><b>aterials, Components and Equipment</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Our primary raw material inputs are steel, copper and aluminum, all of which are purchased from third parties and, in many cases, as part of machined or manufactured components. In certain instances, we purchase complete equipment or systems from third-party suppliers, including from contract manufacturers. Given our increasing focus on energy technology solutions, advanced electronic components and micro-processors have become a larger consideration within our supply chain. Within the clean energy market, batteries are a significant supply chain input for our energy storage systems. Over multiple decades, we have developed an extensive network of reliable suppliers in the United States and around the world. We continuously evaluate the quality and cost structure of our purchased components and equipment and assess the capabilities of our supply chain. Components and equipment are sourced accordingly based on this evaluation.&#xa0;For certain products we do not have internal manufacturing capabilities and rely upon a small number of contract manufacturers to build&#xa0;these products or supply these&#xa0;components, including but not limited to certain clean energy products or components.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Since the beginning of 2020, we have experienced a number of supply chain challenges resulting from the COVID-19 pandemic that impacted our operations to varying degrees. While inbound and outbound logistics delays and employee absences eased during 2022, there continues to be a heightened level of uncertainty surrounding the global supply chain.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">See &#x201c;Item 7. Management&#x2019;s Discussion and Analysis of Financial Condition and Results of Operations&#x201d; for additional information regarding the impact of COVID-19 and other macroeconomic factors.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">See &#x201c;Item 1A.&#xa0;Risk Factors&#x201d; for additional factors that can influence our supply of raw materials, components and equipment.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Competition</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The market for power generation equipment, energy storage systems, grid services solutions and other engine powered products is competitive. We face competition from a variety of large diversified industrial companies as well as smaller generator manufacturers, along with mobile equipment, engine powered tools, solar inverter,&#xa0;battery storage and grid services&#xa0;providers, both domestic and internationally.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Specifically in the generator market, most of the traditional participants compete on a more focused basis, targeting specific applications within their larger diversified product mix. We are the only significant market participant with a primary focus on power equipment with a key emphasis on standby, portable and mobile generators with broad capabilities across the residential, light-commercial and industrial markets. We believe that our engineering capabilities and core focus on generators provide us with manufacturing flexibility and enables us to maintain a competitive advantage for product innovation. We also believe our broad product offering, diverse omni-channel distribution model and strong factory support provide additional advantages as well.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company in recent years has been evolving its business model toward more of a focus on energy technology solutions and services, which has introduced a new set of competitors.&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     11
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">A summary of the primary competitors across our main product classes is&#xa0;as follows:</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>Residential </i></b><b><i>products</i></b><i> &#x2013; </i>Kohler, Briggs&#xa0;&amp; Stratton, Cummins, Honda, Champion, Techtronics International, Husqvarna, Ariens, LG Chem, Tesla, Enphase,&#xa0;Solar Edge, Google, Honeywell, and Emerson along with a number of smaller domestic and foreign competitors; certain of which also have broad operations in other manufacturing businesses.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>C&amp;I p</i></b><b><i>roducts </i></b>&#x2013; Caterpillar, Cummins, Kohler, IGSA,&#xa0;AKSA, MultiQuip,&#xa0;Wacker, Doosan,&#xa0;Atlas Copco, Himoinsa, FG Wilson, Woodward, and Co-map, as well as other domestic and foreign competitors; certain of which focus on the market for diesel generators as they are also diesel engine manufacturers. Also, we compete against other regional packagers that serve local markets throughout the world.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>Other p</i></b><b><i>roducts </i></b>&#x2013; Relative to service parts and extended warranty revenue, all of the above-named companies are primary competitors. Relative to grid services optimization software, Autogrid and&#xa0;Energy Hub,&#xa0;along with other grid service solution providers, are primary competitors.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">In a continuously evolving market, we believe our scale and broad capabilities make us well positioned to remain competitive. We compete primarily based on&#xa0;brand reputation, quality, reliability, pricing, innovative features, breadth of product offering, product availability and factory support.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Government Incentives and Regulation, including Environmental Matters</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Generac&#x2019;s growing presence in energy technology solutions has increased our exposure to renewable energy mandates, investment tax credits and other demand-creation subsidies from certain existing and potential government incentives, such as incentives included in the Inflation Reduction Act that was passed in 2022. These incentives cover a wide range of products and solutions, including MLPE solutions, solar plus storage systems, grid services, and grid-edge devices, and the availability, size, and outlook for such incentives can impact the markets for these products and solutions.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">As a manufacturing company, our operations are subject to a variety of federal, state, local and foreign laws and regulations covering environmental, health and safety matters. Applicable laws and regulations include those governing, among other things, emissions to air, discharges to water, noise and employee safety, as well as the generation, handling, storage, transportation, treatment, and disposal of waste and other materials. In addition, our products are subject to various laws and regulations relating to, among other things, emissions and fuel requirements, as well as labeling, storage, transport, and marketing.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Our products sold in the United States are regulated by the U.S. Environmental Protection Agency (EPA), California Air Resources Board (CARB) and various other state and local air quality management districts. These governing bodies continue to pass regulations that require us to meet more stringent emission standards, and all of our engines and engine-driven products are regulated within the United States and its territories. In addition, certain products in the United States are subject to safety standards as established by various other standards and rulemaking bodies, or state and local agencies, including the U.S. Consumer Product Safety Commission (CPSC).</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Similarly, other countries have varying degrees of regulation for our products, depending upon product application and fuel types.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">See &#x201c;Item 1A.&#xa0;Risk Factors&#x201d; for additional legal and regulatory factors that can affect the products we sell and the results of our operations.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Environment, Social, and Governance Program</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Building on our inaugural Environmental, Social, and Governance (ESG) report in 2021, we published our second ESG report in April of 2022 to update our progress in executing the various ESG goals and initiatives that align with our &#x201c;Powering a Smarter World&#x201d; enterprise strategy and our purpose statement: Lead the evolution to more resilient, efficient, and sustainable energy solutions.&#xa0;Importantly, we&#x2019;ve also continued our commitment to building out an effective ESG Program to help us identify material ESG topics that deserve attention and resources, define metrics to measure our performance with respect to those topics, and work towards setting goals to improve that performance.&#xa0;This includes making progress in further building out our extended ESG organization by adding a number of resources to our ESG Steering Committee and ESG Task Force, which is comprised of subject matter experts from across the Company and receives board-level oversight from our Nominating and Corporate Governance Committee. The information provided within our ESG Report published in April of 2022, or any future ESG Report in 2023, is not part of this report and is therefore not incorporated herein by reference.&#xa0;A copy of the ESG Report is available from our Investor Relations webpage at Generac.com.&#xa0;We plan to publish an updated ESG Report in April of 2023 that coincides with the filing of our annual Proxy Statement.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       12
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Human Capital</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">"Our People" is one of the foundational elements to our &#x201c;Powering a Smarter World&#x201d; enterprise strategy and is a corporate value as well. We foster a culture of diversity and engagement to strengthen our company while supporting individual achievement, equity, inclusivity and good corporate citizenship globally. We believe our success is directly tied to our employees&#x2019; professional growth and personal well-being, combined with strong families and communities.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Some examples of key human capital programs and initiatives that we are focused on&#xa0;include:</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Health, wellness and safety</i> &#x2013; Employee health and safety is the Company&#x2019;s top priority. Generac&#x2019;s Healthy &amp; Thriving Total Rewards are based on the four pillars of balance, security, well-being and&#xa0;community. These programs are designed to meet the varied and evolving needs of our diverse workforce. We maintain an employee wellness program, incentivize healthy-living activities, and we develop and administer company-wide policies to help&#xa0;ensure the safety of each employee and compliance with government agency and other standards.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Diversity, equity and inclusion</i> (DEI) &#x2013;<b> </b>At Generac, people with diverse backgrounds and points of view work together to support our customers around the globe.&#xa0;As an inclusive workplace, our employees embrace diversity in all forms, celebrate differences, and treat others&#xa0;with equality&#xa0;and respect.&#xa0;Generac is also focused on building understanding and awareness of DEI through education and open communication.&#xa0;We sponsor employee-led Business Employee Resource Groups (BERGs) to facilitate networking and strong connections with peers and leadership and to increase the listening and learning opportunities across our workforce.&#xa0;We have expanded our DEI Learning Library and we partner with community job agencies representing disabled clients and workforce release programs to provide job opportunities to those who face barriers to employment.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Talent development &amp; employee engagement</i> &#x2013; Our success is directly tied to our employees and what we can accomplish&#xa0;together. We prioritize creating opportunities to help employees build careers and support their growth as part of a meaningful and valuable employee experience. We hold internal career development events as well as partner with local educational resources to offer on the job learning, collaborative work experiences and formal learning programs on lean methodology&#xa0;and project management skills to support progressions and advancement of our workforce. Further, we maintain an ongoing global employee engagement initiative with targeted action plans by region, function, and business group. Action plans and their progress are measured by global employee engagement surveys.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">As of December 31, 2022, we had 9,500&#xa0;employees (9,160&#xa0;full time and 340&#xa0;part-time and temporary employees). Of those, approximately 4,500&#xa0;employees were directly or indirectly involved in manufacturing at our manufacturing facilities.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Domestically, we have had an &#x201c;open shop&#x201d; bargaining agreement for the past 50&#xa0;years. The current agreement, which expires October&#xa0;17, 2026, covers our Eagle, Wisconsin facility. Additionally, our plants in Mexico, Italy and Spain&#xa0;are operated under various local or national union groups. Our other facilities are not unionized.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Available Information</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company&#x2019;s principal executive offices are located at S45 W29290 Highway 59, Waukesha, Wisconsin, 53189 and the Company&#x2019;s telephone number is (262) 544-4811. The Company&#x2019;s website is www.generac.com. The Company&#x2019;s annual reports on Form 10-K, quarterly reports on Form 10-Q, current reports on Form 8-K, and amendments to those reports are available free of charge through the &#x201c;Investor Relations&#x201d; portion of the Company&#x2019;s web site, as soon as reasonably practicable after they are filed with the Securities and Exchange Commission (SEC). The information provided on these websites is not part of this report and is therefore not incorporated herein by reference.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Information About Our </b><b>Executive O</b><b>fficers</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following table sets forth information regarding our executive officers:</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:92.5%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="vertical-align: top; width: 36%; border-bottom: 1px solid rgb(0, 0, 0);"><b>Name</b></td>
     <td style="vertical-align: top; width: 0.5%; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="vertical-align: top; width: 7.3%; border-bottom: 1px solid rgb(0, 0, 0);"><b>Age</b></td>
     <td style="vertical-align: top; width: 0.2%; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="vertical-align: top; width: 55.9%; border-bottom: 1px solid rgb(0, 0, 0);"><b>Position</b></td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align:top;width:36%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:11pt;margin-right:0pt;margin-top:0pt;text-align:justify;text-indent:-11pt;">Aaron P. Jagdfeld</p> </td>
     <td style="vertical-align:top;width:0.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p> </td>
     <td style="vertical-align:top;width:7.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">51</p> </td>
     <td style="vertical-align:top;width:0.2%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p> </td>
     <td style="vertical-align:top;width:55.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">President, Chief Executive Officer and Chairman</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align:top;width:36%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:11pt;margin-right:0pt;margin-top:0pt;text-align:justify;text-indent:-11pt;">York A. Ragen</p> </td>
     <td style="vertical-align:top;width:0.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p> </td>
     <td style="vertical-align:top;width:7.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">51</p> </td>
     <td style="vertical-align:top;width:0.2%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p> </td>
     <td style="vertical-align:top;width:55.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Chief Financial Officer</p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align:top;width:36%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:11pt;margin-right:0pt;margin-top:0pt;text-align:justify;text-indent:-11pt;">Erik Wilde</p> </td>
     <td style="vertical-align:top;width:0.5%;">&#xa0;</td>
     <td style="vertical-align:top;width:7.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">48</p> </td>
     <td style="vertical-align:top;width:0.2%;">&#xa0;</td>
     <td style="vertical-align:top;width:55.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Executive Vice President, Industrial, Americas</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align:top;width:36%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:11pt;margin-right:0pt;margin-top:0pt;text-align:justify;text-indent:-11pt;">Patrick Forsythe</p> </td>
     <td style="vertical-align:top;width:0.5%;">&#xa0;</td>
     <td style="vertical-align:top;width:7.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">55</p> </td>
     <td style="vertical-align:top;width:0.2%;">&#xa0;</td>
     <td style="vertical-align:top;width:55.9%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Chief Technical Officer</p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align:top;width:36%;">Raj Kanuru</td>
     <td style="vertical-align:top;width:0.5%;">&#xa0;</td>
     <td style="vertical-align:top;width:7.3%;">52</td>
     <td style="vertical-align:top;width:0.2%;">&#xa0;</td>
     <td style="vertical-align:top;width:55.9%;">Executive Vice President, General Counsel and Secretary</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:36%;">Norman Taffe</td>
     <td style="vertical-align:top;width:0.5%;">&#xa0;</td>
     <td style="vertical-align:top;width:7.3%;">56</td>
     <td style="vertical-align:top;width:0.2%;">&#xa0;</td>
     <td style="vertical-align:top;width:55.9%;">President, Energy Technology</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align:top;width:36%;">Kyle Raabe</td>
     <td style="vertical-align:top;width:0.5%;">&#xa0;</td>
     <td style="vertical-align:top;width:7.3%;">48</td>
     <td style="vertical-align:top;width:0.2%;">&#xa0;</td>
     <td style="vertical-align:top;width:55.9%;">President, Consumer Power</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     13
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Aaron P. Jagdfeld</b> has served as our Chief Executive Officer since September 2008, as a director since November 2006 and was named Chairman in February 2016. Prior to becoming Chief Executive Officer, Mr.&#xa0;Jagdfeld worked for Generac for 15&#xa0;years. He began his career in the finance department in 1994 and became our Chief Financial Officer in 2002. In 2007, he was appointed President and was responsible for sales, marketing, engineering and product development. Prior to joining Generac, Mr.&#xa0;Jagdfeld worked in the audit practice of the Milwaukee, Wisconsin office of Deloitte and Touche. Mr.&#xa0;Jagdfeld holds a Bachelor of Business Administration in Accounting from the University of Wisconsin-Whitewater.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>&#xa0;</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>York A. Ragen</b> has served as our Chief Financial Officer since September 2008. Prior to becoming Chief Financial Officer, Mr.&#xa0;Ragen held Director of Finance and Vice President of Finance positions at Generac. Prior to joining Generac in 2005, Mr.&#xa0;Ragen was Vice President, Corporate Controller at APW&#xa0;Ltd., a spin-off from Applied Power&#xa0;Inc., now known as Enerpac Tool Group. Mr.&#xa0;Ragen began his career at Arthur Andersen in the Milwaukee, Wisconsin office audit practice. Mr.&#xa0;Ragen holds a Bachelor of Business Administration in Accounting from the University of Wisconsin-Whitewater.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>&#xa0;</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Erik Wilde</b> began serving as our Executive Vice President, Industrial, Americas in July 2016. Mr. Wilde was Vice President and General Manager of the Mining Division for Komatsu America Corp., a manufacturer of construction, mining, and compact construction equipment, from 2013 until he joined Generac. Prior to that role, he held leadership positions as Vice President of the ICT Business Division and Product Marketing at Komatsu America Corp. beginning in 2005. Mr. Wilde holds a Bachelor of Business Administration in Management from Boise State University and an M.B.A. from the Keller Graduate School of Management.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>&#xa0;</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Patrick Forsythe </b>has served as our Chief Technical Officer since January 2021. He previously served as our Executive Vice President of Global Engineering beginning in&#xa0;July 2015. Prior to re-joining Generac,&#xa0;Mr. Forsythe was Vice President, Global Engineering &amp; Technology of Hayward Industries from 2008 to 2015, Vice President, Global Engineering at Ingersoll Rand Company (and the acquired Doosan Infracore International) from 2004 to 2008, and Director of Engineering at Ingersoll Rand Company from 2002 to 2004. Prior to 2002, Mr. Forsythe worked in various engineering management capacities with Generac from 1995 to 2002. Mr. Forsythe holds a Higher National Diploma (HND) in Mechanical Engineering from the University of Ulster (United Kingdom), a B.S. in Mechanical Engineering, and an M.S. in Manufacturing Management &amp; Technology from The Open University (United Kingdom).</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Raj Kanuru</b> is our Executive Vice President, General Counsel &amp; Secretary and is the Company&#x2019;s principal legal and compliance officer, roles that he has held since joining Generac in 2013. Prior to joining Generac, Mr. Kanuru served as in-house counsel at Caterpillar Inc. for almost 14 years within various leadership roles, including in Caterpillar&#x2019;s Securities, Regulatory and Tax group, in Caterpillar Financial, and in Caterpillar&#x2019;s Energy &amp; Transportation group. From 2009 to 2013, Mr. Kanuru served as Vice President, General Counsel and Secretary of Progress Rail Services Inc., and its subsidiaries (a Caterpillar company). He began his legal career as a senior associate in the tax consulting practice of Arthur Andersen LLP. Mr. Kanuru holds a Bachelor of Science in Finance degree from Birmingham-Southern College and received his Juris Doctor degree from the University of Alabama.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Norman Taffe</b> began serving as President &#x2013; Energy Technology in August 2022. Prior to joining Generac, Mr. Taffe was Executive Vice President North America Residential of SunPower Corporation from 2018 to 2021. Prior to this, Mr. Taffe was Executive Vice President - Products and Vice President of Power Plant Products and Solutions from 2013 to 2018. Mr. Taffe also worked in various engineering and marketing management capacities at Cypress Semiconductor from 1989 to 2012, including Executive Vice President &#x2013; Consumer &amp; Computation Devices from 2005 to 2012. Mr. Taffe holds a Bachelor of Science in Electrical Engineering from the University of Michigan and an Executive MBA from Harvard Business School.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Kyle Raabe</b> has served as our President, Consumer Power since November 2019.&#xa0;Prior to rejoining Generac, Mr. Raabe was Senior Vice President of North American Sales, Demand Planning and Sales Operations from 2018 through 2019&#xa0;and Vice President of Sales for the Commercial Security and Safety groups&#xa0;from 2015 through 2018 at The Master Lock Corporation, a manufacturer of locks, combination padlocks and other security products.&#xa0;Prior to working at The Master Lock Corporation, Mr. Raabe led multiple groups at Generac Power Systems from 2007 through 2015 as Director of Wholesale and Dealer Distribution, Vice President Wholesale Distribution Sales and Vice President, Industrial Distribution Sales.&#xa0;Before joining Generac, Kyle served at Veolia North America, Environmental Services leading Midwest Regional Service Operations.&#xa0;Mr. Raabe holds a BA, Biological Science from Lawrence University.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><a id="item1a" title="item1a" href="#"></a>Item 1A. Risk Factors</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>&#xa0;</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">You should carefully consider the following risks. These risks could materially affect our business, results of operations or financial condition, cause the trading price of our common stock to decline materially or cause our actual results to differ materially from those expected or those expressed in any forward-looking statements made by us. These risks are not exclusive, and additional risks to which we are subject include, but are not limited to, the factors mentioned under &#x201c;Forward-Looking Statements&#x201d; and the risks of our businesses described elsewhere in this Annual Report.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     14
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Risk factors related to our&#xa0;business and industry</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>Decreases in the availability and quality, or increases in the cost, of raw materials</i></b><b><i>,</i></b><b><i> key components </i></b><b><i>and labor </i></b><b><i>we use to make our products could materially reduce our earnings.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The principal raw materials that we use to produce our products are steel, copper and aluminum as well as batteries and advanced electronic components. We also source a significant number of component parts from third parties that we utilize to manufacture our products. The prices of those raw materials and components are susceptible to significant fluctuations due to trends in supply and demand, commodity prices, currencies, transportation costs, government regulations and tariffs, price controls, economic conditions and other unforeseen circumstances beyond our control. In fact, we have recently seen such trends significantly impact our business resulting in higher costs and shortages in materials, components and labor, and such impacts may continue for the foreseeable future. We typically do not have long-term supply contracts in place to ensure the raw materials and components we use are available in necessary amounts or at fixed prices. In the short term, we have been&#xa0;unable to fully mitigate raw material or component price increases through product design improvements, price increases to our customers, manufacturing productivity improvements, or hedging transactions, and if our mitigation efforts continue to not be fully effective in the short or long term, our profitability could be adversely affected. We implemented multiple rounds of price increases in 2021 and 2022 to combat rising input costs, and the realization of these pricing actions in 2022&#xa0;have partially offset the margin impact from these rising input costs. Also, our ability to continue to obtain quality materials and components is subject to the continued reliability and viability of our suppliers, including in some cases, suppliers who are the sole source of certain important components. It has been challenging&#xa0;to consistently obtain adequate, cost efficient or timely deliveries of certain required raw materials and components, or sufficient labor resources while we ramp up production to meet higher levels of demand, and if this trend continues, we may be unable to manufacture sufficient quantities of products on a timely basis. This could cause us to lose additional sales, incur additional costs, delay new product introductions or suffer harm to our reputation.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>We depend upon a small number of outside contract manufacturers and component suppliers for certain products, and our business and operations could be disrupted if we encounter problems with these parties.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">For certain products we do not have internal manufacturing capabilities and rely upon a small number of contract manufacturers to build&#xa0;these products or supply these&#xa0;components, including but not limited to certain clean energy products or components. The timing of purchases in future periods could differ materially from our estimates due to fluctuations in demand requirements related to varying sales levels as well as changes in economic conditions.&#xa0;Further, the revenues that our contract manufacturers generate from our orders may represent a relatively small percentage of their overall revenues. As a result, fulfilling our orders may not be considered a priority in the event of constrained ability to fulfill all of their customer obligations in a timely manner. If any of these contract manufacturers or component suppliers were unable or unwilling to manufacture or produce our products in required volumes and at high quality levels or renew existing terms under supply agreements, we would have to identify, qualify and select acceptable alternative contract manufacturers, which may not be available to us on favorable terms, if at all. Our reliance on such contract manufacturers makes us vulnerable to possible capacity constraints and reduced control over component availability, delivery schedules, quality issues, manufacturing yields and costs. If any of these suppliers reduce or eliminate the supply of the components to us in the future, our revenues, business, financial condition and results of operations would be adversely impacted.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>Our business could be negatively impacted if we fail to adequately protect our intellectual property rights or if third parties claim that we are in violation of their intellectual property rights.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We consider our intellectual property rights to be important assets, and seek to protect them through a combination of patent, trademark, copyright and trade secret laws, as well as licensing and confidentiality agreements. These protections may not be adequate to prevent third parties from using our intellectual property without our authorization, breaching any confidentiality agreements with us, copying or reverse engineering our products, or developing and marketing products that are substantially equivalent to or superior to our own. The unauthorized use of our intellectual property by others could reduce our competitive advantage and harm our business. Not only are intellectual property-related proceedings burdensome and costly, but they could span years to resolve and we might not ultimately prevail. We cannot guarantee that any patents, issued or pending, will provide us with any competitive advantage or will not be challenged by third parties. Moreover, the expiration of our patents may lead to increased competition with respect to certain products. If we fail to protect our intellectual property and other proprietary rights, or if such intellectual property and proprietary rights are infringed, misappropriated or otherwise violated, our business, results of operations or financial condition could be materially harmed.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">In addition, we cannot be certain that we do not or will not infringe third parties' intellectual property rights. We currently are, and have previously been, subject to such third party infringement claims, and may continue to be in the future.&#xa0;Any such claim, even if it is believed to be without merit, may be expensive and time-consuming to defend, subject us to damages, cause us to cease making, using or selling certain products that incorporate the disputed intellectual property, require us to redesign our products, divert management time and attention, and/or require us to enter into costly royalty or licensing arrangements. In addition, we may not prevail in such proceedings. An adverse outcome of any such proceeding may reduce our competitive advantage or otherwise harm our financial condition and our business.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       15
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>We may incur costs and liabilities as a result of product liability and other claims.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We face a risk of exposure to current and future product liability claims alleging to arise from the use of our products and that may purportedly result in injury or other damage.&#xa0;Although we currently maintain product liability insurance coverage, we may not be able to obtain such insurance on acceptable terms in the future, if at all, or obtain insurance that will provide adequate coverage against potential claims. Product liability claims can be expensive to defend and can divert the attention of management and other personnel for long periods of time, regardless of the ultimate outcome. A significant unsuccessful product liability defense could have a material adverse effect on our financial condition and results of operations. In addition, we believe our business depends on the strong brand reputation we have developed. If our reputation is damaged, we may face difficulty in maintaining our market share and pricing with respect to some of our products, which could reduce our sales and profitability.&#xa0;We have experienced, and may continue to experience, product liability claims or other product related claims, including higher warranty costs or product recalls, which may impact our reputation and resulting sales and profitability. For example, we have and may continue to experience product liability, product quality or reliability claims, or warranty claims with respect to&#xa0;certain clean energy products, including being subject to certain consumer product class action lawsuits in relation to such products.&#xa0;In the third quarter of 2022, we recognized a charge of $37.3&#xa0;million related to clean energy product warranty costs. In the event such product or warranty related claims were to be significantly higher in the future, or we incur losses or other damages associated with current or future product liability lawsuits or product related claims, this may continue to adversely affect our reputation or brand quality in relation to such products, subject us to significantly increased costs, and otherwise materially harm our results of operation, financial condition and our business.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">For further information, see footnote &#x201c;18. Commitments and Contingencies&#x201d;.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>Demand for </i></b><b><i>the majority of </i></b><b><i>our products is significantl</i></b><b><i>y affected by unpredictable</i></b><b><i> power </i></b><b><i>outage</i></b><b><i> activity</i></b><b><i> that can lead to substantial variations in, and uncertainties regarding, our financial results from period to period.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Sales of our products are subject to consumer buying patterns, and demand for the majority of our products is affected by power outage events caused by thunderstorms, hurricanes, ice storms, blackouts, public safety power shutoffs, and other power grid reliability issues. The impact of these outage events on our sales can vary depending on the location, frequency and severity of the outages. Sustained periods without major power disruptions can lead, and in the past have led, to reduced consumer awareness of the benefits of standby and portable generator products and can result and have previously resulted in reduced sales growth rates and excess inventory. There are smaller, more localized power outages that occur frequently that drive a baseline level of demand for back-up power solutions. The lack of major power outage events and fluctuations to the baseline levels of power outage activity are part of managing our business, and these fluctuations could have, and previously have had,&#xa0;an adverse effect on our net sales and profits. Despite their unpredictable nature, we believe power disruptions create awareness and accelerate adoption of&#xa0;our home standby products.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>&#xa0;</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>Demand for our products is significantly affected by durable goods spending by consumers and businesses</i></b><b><i>,</i></b><b><i> and other macroeconomic conditions.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Our business is affected by general economic conditions, and uncertainty or adverse changes, such as the prolonged downturn in U.S. residential investment and the impact of more stringent credit standards and rising interest rates or inflation. These&#xa0;have previously led and could lead again to a decline in demand for our products and pressure to reduce our prices. Our sales of light-commercial and industrial generators are affected by conditions in the non-residential construction sector and by the capital investment trends for small and large businesses and municipalities. If these businesses and municipalities cannot access credit markets or do not utilize discretionary funds to purchase our products as a result of the economy or other factors, our business could suffer and our ability to realize benefits from our strategy of increasing sales in the light-commercial and industrial sectors could be adversely affected. In addition, consumer confidence and home remodeling expenditures have a significant impact on sales of our residential products, and prolonged periods of weakness in consumer durable goods spending has previously had, and could again have a material impact on our business. We currently do not have any material contracts with our customers which call for committed volume, and we cannot guarantee that our current customers will continue to purchase our products at the same level, if at all. If general economic conditions or consumer confidence were to worsen, or if the non-residential construction sector or rate of capital investments were to decline, our net sales and profits would likely be adversely affected. Changes in government monetary or fiscal policies may negatively impact our results, including increases in interest rates or sustained inflationary pressure which could negatively affect overall growth and impact sales of our products.&#xa0;Additionally, timing of capital spending by our national account customers can vary from quarter-to-quarter based on capital availability and internal capital spending budgets. Also, the availability of renewable energy mandates and investment tax credits and other subsidies can have an impact on the demand for energy storage systems.&#xa0;Our global operations are exposed to political and economic risks, commercial instability and events beyond our control in the countries in which we operate.&#xa0;Such risks or events may disrupt our supply chain and not enable us to produce products to&#xa0;meet customer demand.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>The industries&#xa0;in which we compete are&#xa0;highly competitive, and our failure to compete successfully </i></b><b><i>could adversely affect our results of operations and financial condition.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We operate in markets that are highly competitive. Some of our competitors have established brands and are larger in size or are divisions of large, diversified companies which have substantially greater financial resources than we do. Some of our competitors have and may continue to be willing to reduce prices and accept lower margins in order to compete with us. In addition, we could face new competition from large international or domestic companies with established&#xa0;brands that enter our end markets. Demand for our products may also be affected by our ability to respond to changes in design and functionality, to respond to downward pricing pressure, and to provide shorter lead times for our products than our competitors. If we are unable to respond successfully to these competitive pressures, we could lose market share, which could have an adverse impact on our results. For further information, see &#x201c;Item 1&#x2014;Business&#x2014;Competition&#x201d;.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>Our industry is subject to te</i></b><b><i>chnological change, and our failure to continue developing new and improved products and to bring these products rapidly to market could have an adverse impact on our business.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 36pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">New products, or refinements and improvements to our&#xa0;existing products, may have technical failures, delayed introductions, higher than expected production costs or may not be well accepted by our customers. If we are not able to anticipate, identify, develop and market high-quality products in line with technological advancements that respond to changes in customer preferences, demand for our products could decline and our operating results could be adversely affected.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>&#xa0;</i></b></p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       16
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>We rely on independent dealers and distribution partners, and the loss of these dealers and distribution partners, or of any of our sales arrangements with significant private label, </i></b><b><i>national</i></b><b><i>, retail or equipment rental customers, would adversely affect our business.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We depend on the services of independent distributors and dealers to sell and install our products and provide service and aftermarket support to our end customers. Their capacity constraints and/or inability to install and service our products could limit our ability to maintain and grow our sales. For example, since&#xa0;the second half of 2022 we&#xa0;experienced, and will continue to experience through the first half of 2023 or until inventory levels normalize, higher field inventories and lower orders from our channel partners for home standby generators given installation capacity constraints in our distribution network. We also rely on our distribution channels to drive awareness for our product categories and our brands. In addition, we sell our products to end users through private label arrangements with leading home equipment, electrical equipment and construction machinery companies; arrangements with top retailers and equipment rental companies; and our direct national accounts with telecommunications and other industrial customers. Our distribution agreements and any contracts we have with large national, retail and other customers are typically not exclusive, and many of the distributors with whom we do business also offer competitors&#x2019; products and services.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Impairment of our relationships with our distributors, dealers or large customers, loss of a substantial number of these distributors or dealers or of one or more large customers, or an increase in our distributors' or dealers' sales of our competitors' products to our customers or of our large customers' purchases of our competitors' products could materially reduce our sales and profits. For example, we have had, and may continue to have, disputes with one or more customers, distributors&#xa0;or dealers to whom we sell our products, including clean energy products, and this may reduce or limit the sales growth for such products.&#xa0;In the third quarter of 2022, we had a key clean energy product customer that filed for Chapter 7 bankruptcy, which adversely impacted our clean energy sales in the last six months of the year. Additionally, our ability to successfully realize our growth strategy is dependent in part on our ability to identify, attract and retain new distributors at all layers of our distribution platform, including increasing the number of energy storage distributors, and we cannot be certain that we will be successful in these efforts.&#xa0;For further information, see &#x201c;Item 1&#x2014;Business&#x2014;Distribution Channels and Customers&#x201d;.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>We are unable to determine the specific impact of changes in selling prices or changes in volumes</i></b><b><i> or mix</i></b><b><i> of our products on our net sales.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Because of the wide range of products that we sell, the level of customization for many of our products, the frequent rollout of new products, the different accounting systems utilized, and the fact that we do not apply pricing changes uniformly across our entire portfolio of products, we are unable to determine with specificity the effect of volume or mix changes or changes in selling prices on our net sales.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>&#xa0;</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>Policy changes affecting international trade could adversely impact the demand for our products and our competitive position.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Changes in government policies on foreign trade and investment can affect the demand for our products, impact the competitive position of our products or prevent us from being able to sell products in certain countries. Our business benefits from free trade agreements, and efforts to withdraw from, or substantially modify such agreements, in addition to the implementation of more restrictive trade policies, such as more detailed inspections, higher tariffs, import or export licensing requirements, exchange controls or new barriers to entry, could have a material adverse effect on our results of operations, financial condition or cash flows. For example,&#xa0;we are experiencing&#xa0;increased tariffs on certain&#xa0;of our products and product components.&#xa0;However, these tariffs have&#xa0;not ultimately had&#xa0;a material adverse effect on our results due to the implementation of various mitigation efforts&#xa0;in conjunction with our supply chain and end market partners.&#xa0;In addition, certain of our products have and may continue to be subject to the imposition of higher duties as a result of anti-dumping and countervailing duties applied against them.&#xa0;To the extent such governmental actions, duties or tariffs are applied to such products, it could adversely affect our results of operations, financial condition and business.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Risk factors&#xa0;related to our operations</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>&#xa0;</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>The loss of any key members of our senior management team or key employees could disrupt our operations and harm our business.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Our success depends, in part, on the efforts of certain key individuals, including the members of our senior management team, who have significant experience in the energy&#xa0;products and solutions industry. If, for any reason, our senior executives do not continue to be active in management, or if&#xa0;key employees leave our company, our business, financial condition or results of operations could be adversely affected. Failure to continue to attract or retain these individuals at reasonable compensation levels could have a material adverse effect on our business, liquidity and results of operations. If&#xa0;we need&#xa0;to replace any of these individuals in the near future, the loss of the services&#xa0;could disrupt our operations and have a material adverse effect on our business if we do not have effective succession plans in place.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>&#xa0;</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>Disruptions caused by labor dis</i></b><b><i>putes or organized labor activities could harm our business.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We may from time to time experience union organizing activities in our non-union facilities. Disputes with the current labor union or new union organizing activities could lead to work slowdowns or stoppages and make it difficult or impossible for us to meet scheduled delivery times for product shipments to our customers, which could result in loss of business. In addition, union activity could result in higher labor costs, which could harm our financial condition, results of operations and competitive position. A work stoppage or limitations on production at our facilities for any reason could have an adverse effect on our business, results of operations and financial condition. In addition, many of our suppliers have unionized work forces. Strikes or work stoppages experienced by our customers or suppliers could have an adverse effect on our business, results of operations and financial condition.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>&#xa0;</i></b></p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       17
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>We may experience material disruptions to our manufacturing operations.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">While we seek to operate our facilities in compliance with applicable rules and regulations and take measures to minimize the risks of disruption at our facilities, a material disruption at one of our manufacturing facilities could prevent us from meeting customer demand, reduce our sales and/or negatively impact our financial results. Any of our manufacturing facilities, or any of our equipment within an otherwise operational facility, could cease operations unexpectedly due to a number of events, including:</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 36pt; text-align: justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">equipment or information technology infrastructure failure;&#xa0;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">disruptions in the transportation infrastructure including roads, bridges, railroad tracks and container ports;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">fires, floods, tornadoes, earthquakes, disease, pandemics, acts of violence, or other catastrophes; and&#xa0;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">other operational problems.</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 72pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">In addition, a significant portion of our manufacturing and production facilities are&#xa0;in Wisconsin within a 100-mile radius of each other. We could experience prolonged periods of reduced production due to unforeseen events occurring in or around our manufacturing facilities in Wisconsin. In the event of a business interruption at our facilities, in particular our Wisconsin facilities, we may be unable to shift manufacturing capabilities to alternate locations, accept materials from suppliers or meet customer shipment needs, among other severe consequences. Such an event could have a material and adverse impact on our financial condition and results of our operations.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 36pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>We are vulnerable to supply disruptions from single-sourced suppliers. </i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We single-source certain types of parts in our product designs. Delays in our suppliers' deliveries have impaired, and may continue to impair, our ability to deliver products to our customers. A wide variety of factors could cause such delays including, but not limited to, lack of capacity, economic downturns, availability of credit, logistical challenges, labor or material shortages, trade restrictions, weather events, political instability, wars, terrorism, civil unrest, disease or natural disasters.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>We may not realize all of the anticipated benefits of our acquisitions or those benefits may take longer to realize than expected. We may also encounter significant unexpected difficulties in integrating acquired businesses.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Our ability to realize the anticipated benefits of our acquisitions will depend, to a large extent, on our ability to integrate the acquired businesses with our business. The integration of independent businesses is a complex, costly and time-consuming process. Further, integrating and managing businesses with international operations may pose challenges not previously experienced by our management. As a result, we may be required to devote significant management attention and resources to integrating the business practices and operations of any acquired businesses with ours. The integration process may disrupt our business and, if implemented ineffectively, could preclude realization of the full benefits expected by us. Our failure to meet the challenges involved in integrating an acquired business into our existing operations or otherwise to realize the anticipated benefits of the transaction could cause an interruption of, or a loss of momentum in, our activities and could adversely affect our results of operations.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>&#xa0;</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">In addition, the overall integration of our acquired businesses may result in material unanticipated problems, expenses, liabilities, competitive responses, loss of customer relationships, and diversion of management's attention, and may cause our stock price to decline. The difficulties of combining the operations of acquired businesses with ours include, among others:</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">managing a larger company;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">maintaining employee morale and retaining key management and other employees;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">complying with newly applicable domestic and foreign regulations as we enter new product and geographic markets;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">integrating two business cultures, which may prove to be incompatible;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">the possibility of faulty assumptions underlying expectations regarding the integration process;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">retaining existing customers and attracting new customers;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">consolidating corporate and administrative infrastructures and eliminating duplicative operations;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">the diversion of management's attention from ongoing business concerns and performance shortfalls as a result of management's attention to the acquisition;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">unanticipated issues in integrating information technology, communications and other systems;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">complying with changes in applicable or new laws and regulations;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">managing tax costs or inefficiencies associated with integrating the operations or supply chain of the combined company;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">unforeseen liabilities, expenses or delays associated with the acquisition;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">difficulty comparing financial reports due to differing financial and/or internal reporting systems; and</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">making any necessary modifications to internal financial control standards to comply with the Sarbanes-Oxley Act of 2002 and the rules and regulations promulgated thereunder.</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 36pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Many of these factors will be outside of our control and any one of them could result in increased costs, decreases in the amount of expected revenues and diversion of management's time and energy, which could materially impact our business, financial condition and results of operations. In addition, even if the operations of our acquired businesses are integrated successfully with our operations, we may not realize the full benefits of the transaction, including the synergies, cost savings or sales or growth opportunities that we expect. These benefits may not be achieved within the anticipated time frame, or at all,&#xa0;and&#xa0;additional unanticipated costs may be incurred in the integration or management of our businesses. All these factors could cause dilution to our earnings per share, decrease or delay the expected accretive effect of the acquisition, and cause a decrease in the price of our common stock. As a result, we cannot be&#xa0;assured&#xa0;that the combination of our acquisitions with our business will result in the realization of the full benefits anticipated from the transaction.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       18
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>A significant portion of our purchased components are sourced in foreign countries, exposing us to additional risks that may not exist in the United States.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 36pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We source a significant portion of our purchased components overseas, primarily in Asia and Europe. Our international sourcing subjects us to a number of potential risks in addition to the risks associated with third-party sourcing generally. Such risks include:</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 36pt; text-align: justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
   <tbody>
    <tr style="vertical-align: top; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: justify;">&#xa0;</td>
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">inflation or changes in political and economic conditions;&#xa0;</p> </td>
    </tr>

    <tr style="vertical-align: top; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: justify;">&#xa0;</td>
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: justify;">&#x25cf;</td>
     <td style="width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">logistical challenges, including extended container port congestion, and higher logistics costs;</p> </td>
    </tr>

    <tr style="vertical-align: top; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: justify;">&#xa0;</td>
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">unstable regulatory environments;&#xa0;</p> </td>
    </tr>

    <tr style="vertical-align: top; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: justify;">&#xa0;</td>
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">changes in import and export duties;&#xa0;</p> </td>
    </tr>

    <tr style="vertical-align: top; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: justify;">&#xa0;</td>
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">domestic and foreign customs and tariffs;&#xa0;</p> </td>
    </tr>

    <tr style="vertical-align: top; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: justify;">&#xa0;</td>
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">currency rate fluctuations;</p> </td>
    </tr>

    <tr style="vertical-align: top; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: justify;">&#xa0;</td>
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">trade restrictions;&#xa0;</p> </td>
    </tr>

    <tr style="vertical-align: top; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: justify;">&#xa0;</td>
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">labor or civil unrest;&#xa0;</p> </td>
    </tr>

    <tr>
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: justify;">&#xa0;</td>
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: justify;">&#x25cf;</td>
     <td style="width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: justify;">disputes in our relationships with certain contract manufacturers or suppliers;</td>
    </tr>

    <tr style="vertical-align: top; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: justify;">&#xa0;</td>
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">communications challenges; and&#xa0;</p> </td>
    </tr>

    <tr style="vertical-align: top; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: justify;">&#xa0;</td>
     <td style="width: 18pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">other restraints and burdensome taxes.</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 72pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">These factors have had in the past&#xa0;and are currently having&#xa0;an adverse effect on our ability to efficiently and cost effectively source our purchased components overseas. In addition, we are experiencing higher logistics costs due to the current challenging supply chain environment.&#xa0;Additionally, if the U.S. dollar were to depreciate significantly against the currencies in which we purchase raw materials from foreign suppliers, our cost of goods sold could increase materially, which would adversely affect our results of operations.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Risk factors&#xa0;related to legal and regulatory matters</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>As a U.S. corporation that conducts business in</i></b><b><i> a variety of foreign countries</i></b><b><i>, we are subject to the Foreign Corrupt Practice</i></b><b><i>s Act and a variety of anti-corruption laws worldwide. A determination that we violated any of these laws may affect our business and operations adversely.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 36pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The U.S. Foreign Corrupt Practices Act (FCPA) generally prohibits U.S. companies and their intermediaries from making improper payments to foreign officials for the purpose of obtaining or keeping business. The United Kingdom Bribery Act (UKBA) prohibits domestic and foreign bribery of the private sector as well as public officials. Any determination that we have violated any anti-corruption laws could have a material adverse effect on our financial position, operating results and cash flows.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>Costs associated with lawsuits,&#xa0;investigations or adverse rulings in enforcement or other legal proceedings may have an adverse effect on our results of operations.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We are subject to a variety of legal proceedings and legal compliance risks. We currently face risk of exposure to various types of claims, lawsuits and government investigations, and may continue to face such risks in the future. We are currently and, may in the future be, involved in various claims and lawsuits related to product design, safety, manufacture and performance liability, contracts, employment issues, environmental matters, intellectual property rights, tax, securities, regulatory compliance, and other legal proceedings that arise in and outside of the ordinary course of our business.&#xa0;The industries in which we operate are also periodically reviewed or investigated by regulators, and we are subject to and may continue to be subject to such investigations and claims, including by the CPSC and EPA, which could lead to enforcement actions, fines and penalties or the assertion of private litigation claims.&#xa0;For example, on November 30, 2022, the CPSC notified the Company of its intention to recommend the imposition of a penalty for failing to timely submit a report under section 19(a)(4) of the Consumer Product Safety Act (&#x201c;CPSA&#x201d;), 15 U.S.C. &#xa7; 2068(a)(4), in relation to certain portable generators that were subject to a recall announcement on July 29, 2021.&#xa0;In addition, on October 28, 2022, Generac Power received a grand jury subpoena from the U.S. Attorney for the Eastern District of Michigan, as a result of which the Company became aware of an enforcement investigation by the U.S. Department of Justice (&#x201c;DOJ&#x201d;).&#xa0;The subpoena requests similar documents and information provided by the Company to the U.S. EPA&#xa0;and the CARB&#xa0;in response to civil document requests related to the Company&#x2019;s compliance with emissions regulations for approximately 1,850 portable generators produced by the Company in 2019 and 2020 and sold in 2020. The Company is cooperating with both the DOJ and the EPA and CARB inquiries. It is not possible to predict with certainty the outcome of such claims, or any other current or future claims, investigations and lawsuits, and we could in the future incur judgments, fines or penalties or enter into settlements of lawsuits and claims that could have an adverse effect on our reputation, business, results of operations or financial condition in any particular period.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The nature of our operations means that legal and compliance risks will continue to exist and additional legal proceedings and other contingencies, the outcome of which cannot be predicted with certainty, may arise from time to time. In addition, subsequent developments in legal proceedings or investigations may affect our assessment and estimates of loss contingencies recorded as a reserve and require us to make payments in excess of our reserves, which could have an adverse effect on our reputation, business and results of operations or financial condition.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">For further information, see footnote &#x201c;18. Commitments and Contingencies&#x201d;.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>Our operations are subject to various environmental, health and safety laws and regulations, and non-compliance with or liabilities under such laws and regulations could result in substantial costs, fines, sanctions and claims.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Our operations are subject to a variety of foreign, federal, state and local environmental, health and safety laws and regulations including those governing, among other things, emissions to air; discharges to water; noise; and the generation, handling, storage, transportation, treatment and disposal of waste and other materials. In addition, under federal and state environmental laws, we could be required to investigate, remediate and/or monitor the effects of the release or disposal of materials both at sites associated with past and present operations and at third-party sites where wastes generated by our operations were disposed. This liability may be imposed retroactively and whether or not we caused, or had any knowledge of, the existence of these materials and may result in our paying more than our fair share of the related costs. Violations of or liabilities under such laws and regulations could result in substantial costs, fines and civil or criminal proceedings or personal injury and workers' compensation claims.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>Our products are subject to substantial government regulation.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Our products are subject to extensive statutory and regulatory requirements governing, among other things, emissions, noise, labeling, transport, product content, product safety, and data privacy, including standards imposed by the EPA, CARB, CPSC and other regulatory agencies around the world. Also, as we increase our connectivity with our products and customers, we may be required to comply with additional data privacy and cybersecurity regulations. For example, personal privacy and data security have become significant issues in the United States, Europe, and in many other jurisdictions in which we operate. The regulatory framework for privacy and security issues worldwide is rapidly evolving and is likely to remain uncertain for the foreseeable future. In the United States, these include rules and regulations promulgated or pending under the authority of federal agencies, state attorneys general, legislatures, and consumer protection agencies. Internationally, many jurisdictions in which we operate have established their own data security and privacy legal framework with which we, relevant suppliers, and customers must comply. Although we have implemented certain policies, procedures, and, in other cases, contractual arrangements designed to facilitate compliance with applicable privacy and data security laws and standards, any inability or perceived inability to adequately address privacy and security concerns, even if unfounded, or comply with applicable privacy and data security laws, regulations, and policies, could result in additional fines, costs, and liabilities to us, damage our reputation, inhibit sales, and adversely affect our business.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">These laws are constantly evolving and many are becoming increasingly stringent. As a further example, recent CARB regulations that&#xa0;will prohibit future sales in California of certain small off-road engines may negatively affect the long-term sales of certain products we sell today in that state. In addition, some cities or municipalities have imposed, or are considering, limiting natural gas connections to new buildings or imposing additional permitting restrictions which could adversely affect the sales of certain products we sell in such jurisdictions. Changes in applicable laws or regulations, or in the enforcement thereof, could require us to redesign or recall our products and could adversely affect our business or financial condition in the future. Developing and marketing products to meet such new requirements could result in substantial additional costs that may be difficult to recover in some markets. In some cases, we may be required to modify our products or develop new products to comply with new regulations, particularly those relating to air emissions and carbon monoxide. Typically, additional costs associated with significant compliance modifications are passed on to the market.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">We have also recently been, and continue to be, subject to product recall actions and related applicable regulatory compliance inquiries by regulatory authorities. The failure to comply with existing and future regulatory standards or requirements could adversely affect our position in the markets we serve, our reputation, business, results of operations or financial condition in any particular period.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       19
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Risk factors&#xa0;related to cybersecurity</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>&#xa0;</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>Failures or security breaches of our networks or information technology systems could have an adverse effect on our business</i></b><b><i>.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>&#xa0;</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We rely heavily on information technology (IT)&#xa0;both in our products and services for customers and in our IT systems used to run our business. Further, we collect and store sensitive information in&#xa0;cloud-based data centers and on our networks. Government agencies and security experts have warned about growing risks of hackers, cyber-criminals, malicious insiders and other actors targeting confidential information and all types of IT systems. These actors may engage in fraudulent activities, theft of confidential or proprietary information and sabotage or ransomware.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Our IT systems, our connected products, and our confidential information may be vulnerable to damage or intrusion from a variety of attacks including computer viruses, worms or other malicious software programs. The risk of such attacks may increase as we integrate newly acquired companies or develop new connected products and related software. These attacks pose a risk to the security of our products, private data, systems and networks and those of our customers, suppliers and third-party service providers, as well as to the confidentiality of our information and the integrity and availability of our data. While we attempt to mitigate these risks through board oversight, hiring additional&#xa0;internal cyber-security professionals to manage these risks, enhancing controls, due diligence, employee training and communication, third party intrusion testing, system hardening, email and web filters, regular patching, multi-factor authentication, surveillance, encryption, and other measures, we remain vulnerable to information security threats.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We monitor certain cyber security threats and vulnerabilities in our systems, and we have experienced viruses and attacks targeting our IT&#xa0;systems and networks. Such prior events, to date, have not had a material impact on our financial condition, results of operations or liquidity.&#xa0;Despite the precautions we take, we have had, and could have again, an intrusion or infection of our systems or connected products.&#xa0;While such intrusions or infections to date have not&#xa0;resulted in the significant disruption of our business, or a loss of proprietary or confidential information, we cannot guarantee the same for future intrusions or infections. Similarly, an attack on our IT systems or connected products could result in theft or disclosure of trade secrets or other intellectual property, a breach of confidential customer or employee information, or product failure or misuse. Any such events could have an adverse impact on sales, harm our reputation and cause us to incur legal liability and increased costs to address such events and related security concerns. As the threats evolve and become more potent, we may incur additional costs to secure the products that we sell, as well as our data and infrastructure of networks and devices.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Risk factors r</b><b>elated to COVID-19</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>&#xa0;</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>The duration and scope of the impacts of the COVID-19 pandemic are uncertain and may continue to adversely affect our operations, supply chain, distribution, and demand for certain of our products and services.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The global outbreak of&#xa0;COVID-19 and related variants has created and may continue to create significant uncertainty within the global markets that we serve to the extent the COVID-19 outbreak may continue to spread, including the impact of identified or potential new variants.&#xa0;We have&#xa0;operations, customers and suppliers&#xa0;in countries significantly impacted by COVID-19. Governmental authorities around the world have taken or may take again in the future a variety of measures to slow the spread of COVID-19, including travel bans or restrictions, increased border controls or closures, quarantines, shelter-in-place orders and business shutdowns and such authorities may impose additional restrictions in the future.&#xa0;We have also taken actions to protect our employees and to mitigate the spread of COVID-19 within our business.&#xa0;There can be no assurance that the measures implemented by governmental authorities or our own actions will be effective or achieve their desired results in a timely fashion.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The impact of COVID-19 has&#xa0;resulted in and may in the future result in&#xa0;disruptions to our manufacturing operations and supply chain, which could&#xa0;negatively impact our ability to meet customer demand. Our forward-looking statements assume that our production facilities, supply chain and distribution partners continue to operate during the pandemic. To date, we have been able to operate the majority of our facilities. If we were to encounter a significant work stoppage, disruption, or outbreak due to COVID-19 at one or more of our locations&#xa0;or suppliers, we may not be able to satisfy customer demand for a period of time.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Furthermore, the impact of COVID-19 on the economy, demand for our products and impacts to our operations, including the measures taken by governmental authorities to address it, may precipitate or exacerbate other risks and/or uncertainties, including specifically many of the risk factors set forth in this&#xa0;Annual Report, including inflationary costs, disruptions due to labor shortages, supply chain disruptions, and risks related to the fair market value of intangible assets that could lead to an impairment, which may have a significant impact on the Company's operating results and financial condition,&#xa0;although we are unable to predict the extent or nature of these impacts at this time.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Risk factors&#xa0;related to our capital structure</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>&#xa0;</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>We hav</i></b><b><i>e</i></b><b><i> indebtedness which could adversely affect our cash flow and our ability to make payments on our indebtedness.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>&#xa0;</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">As of December 31, 2022 we had total indebtedness of $1,430.8&#xa0;million. Our level of indebtedness increases the possibility that we may be unable to generate cash sufficient to pay, when due, the principal of, interest on or other amounts due in respect of our indebtedness. While we maintain interest rate swaps covering a portion of our outstanding debt, our interest expense could increase if interest rates increase because debt under our credit facilities bears interest at a variable rate based on Secured Overnight Financing Rate (SOFR)&#xa0;or other base rate. In connection with our credit agreement&#xa0;amendment in June&#xa0;2022, SOFR became&#xa0;the new benchmark interest rate for the new Tranche A Term Loan Facility and the Revolving Facility, and&#xa0;all LIBOR provisions applicable to the existing Tranche B Term Loan Facility were replaced with SOFR provisions.&#xa0;If we do not have sufficient earnings to service our debt, we may be required to refinance all or part of our existing debt, sell assets, borrow more money or sell securities, none of which we can guarantee we will be able to do. Our Term Loan B matures on December 13, 2026, and our Term Loan A as well as our Revolving Facility mature&#xa0;on June&#xa0;29, 2027.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>&#xa0;</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>The terms of our credit facilities restrict our current and future operations, particularly our ability to respond to changes in our business or to take certain actions.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>&#xa0;</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Our credit facilities contain, and any future indebtedness of ours or our subsidiaries would likely contain, a number of restrictive covenants that impose&#xa0;operating and financial restrictions on us and our subsidiaries, including limitations&#xa0;on our ability to engage in acts that may be in our best long-term interests. These restrictions set limitations on, among other things, our ability to:</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">incur liens;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">incur or assume additional debt or guarantees or issue preferred stock;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">pay dividends, or make redemptions and repurchases, with respect to capital stock;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">prepay, or make redemptions and repurchases of, subordinated debt;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">make loans and investments;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">make capital expenditures;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">engage in mergers, acquisitions, asset sales, sale/leaseback transactions and transactions with affiliates;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">change the business conducted by us or our subsidiaries; and</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">amend the terms of subordinated debt.</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The operating and financial restrictions in our credit facilities and any future financing agreements may adversely affect our ability to finance future operations or capital needs or to engage in other business activities. A breach of any of the restrictive covenants in our credit facilities would result in a default. If any such default occurs, the lenders under our credit facilities may elect to declare all outstanding borrowings, together with accrued interest and other fees, to be immediately due and payable, or enforce their security interest, any of which would result in an event of default. The lenders will also have the right in these circumstances to terminate any commitments they have to provide further borrowings. Our existing credit facilities do not contain any financial maintenance covenants.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       20
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>We may need additional capital to finance our growth strategy or to refinance our existing credit facilities, and we may not be able to obtain it on acceptable terms, or at all, which may limit ou</i></b><b><i>r ability to grow.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We may require additional financing to expand our business. Financing may not be available to us or may be available to us only on terms that are not favorable. The terms of our senior secured credit facilities limit our ability to incur additional debt. In addition, economic conditions, including a downturn in the credit markets, could impact our ability to finance our growth on acceptable terms or at all. If we are unable to raise additional funds or obtain capital on acceptable terms, we may have to delay, modify or abandon some or all of our growth strategies. In the future, if we are unable to refinance our credit facilities on acceptable terms, our liquidity could be adversely affected.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>Our total assets include goodwill and other indefinite-lived intangibles. If we determine these have become impaired, </i></b><b><i>our </i></b><b><i>net income could be materially adversely affected.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Goodwill represents the excess of cost over the fair market value of net assets acquired in business combinations. Indefinite-lived intangibles are comprised of certain tradenames. At December 31, 2022, goodwill and other indefinite-lived intangibles totaled $1,529.2&#xa0;million. We review goodwill and other intangibles at least annually for impairment and any excess in carrying value over the estimated fair value is charged to the statement of comprehensive income. Future impairment may result from, among other things, deterioration in the performance of an acquired business or product line, adverse market conditions, a significant increase in interest rate,&#xa0;changes in the competitive landscape, adverse changes in applicable laws or regulations, including changes that restrict the activities of an acquired business or product line, and a variety of other circumstances including any of the risk factors noted above. A reduction in net income resulting from the write-down or impairment of goodwill or indefinite-lived intangibles could have a material adverse effect on our financial statements. Refer to the Critical Accounting Policies and Estimates in Item 7 of this Annual Report on Form 10-K for further information regarding the Company&#x2019;s process for evaluating its goodwill for impairment.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><a id="item1b" title="item1b" href="#"></a>Item&#xa0;1B. Unresolved Staff Comments</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>&#xa0;</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">None.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><a id="item2" title="item2" href="#"></a>Item&#xa0;2. Properties</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>&#xa0;</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We own or lease manufacturing, distribution, R&amp;D, and office facilities globally totaling over five million square feet. We also utilize third party&#xa0;inventory warehouses that accommodate material storage and rapid response requirements of our customers. The following table provides information about our principal owned or leased&#xa0;facilities exceeding 20,000 square feet:</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
   <tbody>
    <tr>
     <td style="vertical-align: bottom; width: 32%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Location</b></p> </td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 10%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Owned/ </b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Leased</b></p> </td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 45%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Activities</b></p> </td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 10%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Segment</b></p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: top; width: 32%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Waukesha, WI</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Owned</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Corporate headquarters, R&amp;D</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Domestic</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align: top; width: 32%;">Pewaukee, WI</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Owned</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;">Sales, office</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Domestic</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: top; width: 32%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Eagle, WI</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Owned</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Manufacturing, office, training</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Domestic</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align: top; width: 32%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Whitewater, WI</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Owned</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Manufacturing, office, distribution</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Domestic</p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: top; width: 32%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Oshkosh, WI</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Owned</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Manufacturing, office, warehouse, R&amp;D</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Domestic</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align: top; width: 32%;">Berlin, WI&#xa0;</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Owned</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;">Manufacturing, office, warehouse, R&amp;D</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Domestic</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: top; width: 32%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Jefferson, WI</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Owned</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Manufacturing, office, distribution, R&amp;D</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Domestic</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align: top; width: 32%;">Janesville, WI</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Leased</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;">Distribution</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Domestic</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: top; width: 32%;">Richfield, WI</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Leased</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;">Warehouse</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Domestic</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align: top; width: 32%;">Trenton, SC</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Owned</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;">Manufacturing, office, warehouse, distribution</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Domestic</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: top; width: 32%;">Stockton, CA</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Leased</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;">Sales, office, warehouse, training</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Domestic</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align: top; width: 32%;">Corona, CA</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Leased</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;">Sales, office, storage</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Domestic</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: top; width: 32%;">Hamilton, OH</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Leased</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;">Manufacturing, office, warehouse, R&amp;D</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Domestic</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align: top; width: 32%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Maquoketa, IA</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Owned</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Storage, rental property</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Domestic</p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: top; width: 32%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">South Burlington, VT</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Leased</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Office, sales, R&amp;D</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Domestic</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align: top; width: 32%;">South Portland, ME</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Leased</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;">Sales, office, R&amp;D</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Domestic</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: top; width: 32%;">Marlborough, MA</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Leased</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;">Sales, office, warehouse</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Domestic</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: top; width: 32%;">Toronto, Canada</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Leased</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;">Office, sales, R&amp;D</td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">Domestic</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align: top; width: 32%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Mexico City, Mexico</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Owned</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Storage</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">International</p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: top; width: 32%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Hidalgo, Mexico</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Owned</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Manufacturing, sales, distribution, warehouse, office, R&amp;D</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">International</p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: top; width: 32%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Casole d&#x2019;Elsa, Italy</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Leased</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Manufacturing, office, warehouse, R&amp;D</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">International</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align: top; width: 32%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Balsicas, Spain</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Leased</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Manufacturing, office, warehouse, R&amp;D</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">International</p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: top; width: 32%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Foshan, China</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Owned</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 45%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Manufacturing, office, warehouse, R&amp;D</p> </td>
     <td style="vertical-align: top; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">International</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align: bottom; width: 32%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Saint-Nizier-sous-Charlieu, France</p> </td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Leased</p> </td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 45%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Sales, office, warehouse</p> </td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">International</p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: bottom; width: 32%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Cravinhos, Brazil</p> </td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Leased</p> </td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 45%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Manufacturing, office, warehouse</p> </td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">International</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align: bottom; width: 32%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Stoke-on-Trent, United Kingdom</p> </td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Leased</p> </td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 45%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Sales, office, warehouse</p> </td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">International</p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: bottom; width: 32%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Sydney, Australia</p> </td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Leased</p> </td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 45%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Sales, office, warehouse</p> </td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">International</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align: bottom; width: 32%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Fellbach, Germany</p> </td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Leased</p> </td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 45%;">Sales, office, warehouse</td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">International</p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: bottom; width: 32%;">Suzhou, China</td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 10%;">Leased</td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 45%;">Office, R&amp;D</td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">International</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align: bottom; width: 32%;">Rugby, United Kingdom</td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 10%;">Leased</td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 45%;">Manufacturing, office, warehouse, R&amp;D</td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">International</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: bottom; width: 32%;">Celle, Germany</td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 10%;">Leased</td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 45%;">Manufacturing, office, warehouse, R&amp;D</td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">International</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align: bottom; width: 32%;">Charzyno, Poland</td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 10%;">Owned</td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 45%;">Manufacturing</td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">International</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: bottom; width: 32%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">West Bengal, India</p> </td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Leased</p> </td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 45%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Manufacturing, warehouse</p> </td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">International</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align: bottom; width: 32%;">Villanova d'Ardenghi, Italy</td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 10%;">Owned</td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 45%;">Manufacturing, warehouse</td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">International</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: bottom; width: 32%;">Hunmanby, United Kingdom</td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 10%;">Owned</td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 45%;">Manufacturing, warehouse, sales, distribution, office, R&amp;D</td>
     <td style="vertical-align: bottom; width: 1%;">&#xa0;</td>
     <td style="vertical-align: top; width: 10%;">International</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">In addition to the countries represented above, the Company has other operations or sales offices in the United Arab Emirates,&#xa0;Romania,&#xa0;Bahrain, and Colombia.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">As of December 31, 2022, substantially all of our domestically-owned and a portion of our internationally-owned properties are subject to collateral provisions under our senior secured credit facilities.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     21
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><a id="item3" title="item3" href="#"></a>Item&#xa0;3. Legal Proceedings</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><a href="#commncon" style="-sec-extract:exhibit;">See Note 18, "Commitments and Contingencies,"&#xa0;to the consolidated financial statements in Item 8 of this Annual Report on Form 10-K for further information on the Company's legal proceedings.&#xa0;</a></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><a id="item4" title="item4" href="#"></a>Item&#xa0;4. Mine Safety Disclosures</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Not Applicable.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;"><b><a id="part2" title="part2" href="#"></a>PART II</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:34.55pt;margin-right:0pt;margin-top:0pt;text-align:justify;text-indent:-34.55pt;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:34.55pt;margin-right:0pt;margin-top:0pt;text-align:justify;text-indent:-34.55pt;"><b><a id="item5" title="item5" href="#"></a>Item&#xa0;5. Market for Registrant&#x2019;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Shares of our common stock are traded on the New York Stock Exchange (NYSE) under the symbol &#x201c;GNRC.&#x201d;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Purchases of Equity Securities By the Issuer and Affiliated Purchasers</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following table summarizes the stock repurchase activity for the three months ended December 31, 2022, which consisted of stock repurchases made as authorized under previously announced stock repurchase programs, as well as the withholding of shares upon the vesting of restricted stock awards to pay related withholding taxes on behalf of the recipient:</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">
   <tbody>
    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b><b>Total Number of Shares Purchased</b></b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b><b>Average Price Paid per Share</b></b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b><b>Total Number</b><b> Of </b><b>Shares</b><b> Purchased </b><b>As</b><b> </b><b>Part Of</b><b> </b><b>Publicly</b><b> </b><b>Announced</b><b> </b><b>Plans Or</b><b> </b><b>Programs</b></b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b><b>Approximate</b><b> </b><b>Dollar Value</b><b> </b><b>Of Shares</b><b> That </b><b>May Yet</b><b> </b><b>Be Purchased</b><b> </b><b>Under The</b><b> </b><b>Plans Or</b><b> </b><b>Programs</b></b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom;">
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">10/01/22 - 10/31/22</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,394</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">158.98</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">500,000,000</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">11/01/22 - 11/30/22</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,070,647</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">104.75</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,070,183</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">387,897,261</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">12/01/22 - 12/31/22</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,116,456</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">98.49</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;">1,115,191</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">278,059,869</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">2,188,497</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">101.59</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">2,185,374</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">For equity compensation plan information, refer to Note 17, &#x201c;Share Plans,&#x201d; to the consolidated financial statements in Item&#xa0;8 of this Annual Report on Form 10-K. For information on the Company&#x2019;s stock repurchase plans, refer to Note 13, &#x201c;Stock Repurchase Programs,&#x201d; to the consolidated financial statements.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     22
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Stock Performance Graph</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The line graph below compares the cumulative total stockholder return on our common stock with the cumulative total return of the Standard &amp; Poor&#x2019;s (&#x201c;S&amp;P 500&#x201d;) Index, the S&amp;P MidCap 400&#xa0;Index,&#xa0;the Russell 2000 Index, and the S&amp;P 500 Industrial Index, for the five-year period ended December 31, 2022. The graph and table assume that $100 was invested on December 31, 2017&#xa0;in each of our common stock, the S&amp;P 500 Index, the S&amp;P MidCap 400&#xa0;Index, the Russell 2000 Index, and the S&amp;P 500 Industrial Index, and that all dividends were reinvested. Cumulative total stockholder returns for our common stock, the S&amp;P 500 Index, the S&amp;P MidCap 400&#xa0;Index, the Russell 2000 Index, and the S&amp;P 500 Industrial Index, are based on our fiscal year.&#xa0;We commenced reporting the S&amp;P 500 Industrial Index as our industry index and will not be reporting the Russell 2000 Index&#xa0;in future filings.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div style="text-align: center;">
   <div>
    <img alt="chart02.jpg" src="chart02.jpg" /></div>
  </div>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 28%; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;">Company / Market / Peer Group</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">12/31/2017</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">12/31/2018</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">12/31/2019</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">12/31/2020</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">12/31/2021</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">12/31/2022</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
     <td>&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 28%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Generac Holdings Inc.</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$100.00</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$100.35</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$203.08</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$459.04</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$710.28</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$203.14</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 28%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">S&amp;P 500 Index - Total Returns</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">100.00</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">95.62</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">125.72</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">148.85</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">191.58</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">156.88</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 28%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">S&amp;P MidCap 400 Index</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">100.00</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">88.92</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">112.21</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">127.54</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">159.12</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">138.34</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 28%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Russell 2000 Index</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">100.00</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">88.99</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">111.70</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">134.00</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">153.85</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">122.41</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 28%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">S&amp;P 500 Industrials Index</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">100.00</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">86.71</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">112.17</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">124.59</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">150.89</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">142.63</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Holders</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="margin: 0; text-align: justify; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">As of February 17, 2023, there were<span style="color:#000000;">1,048</span>&#xa0;registered holders of record of Generac&#x2019;s common stock. A substantially greater number of holders of Generac common stock are &#x201c;street name&#x201d; or beneficial holders, whose shares are held of record by banks, brokers and other financial institutions.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Dividends</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">We do not have plans to pay dividends on our common stock in the foreseeable future. However, in the future, subject to factors such as general economic and business conditions, our financial condition and results of operations, our capital requirements, our future liquidity and capitalization, and other such factors that our Board of Directors may deem relevant, we may change this policy and choose to pay dividends. Our ability to pay dividends on our common stock is currently limited by the terms of our senior secured credit facilities and may be further restricted by any future indebtedness we incur. Dividends from, and cash generated by our subsidiaries will be our principal sources of cash to repay indebtedness, fund operations, repurchase shares of common stock and pay dividends. Accordingly, our ability to pay dividends to our stockholders is dependent on the earnings and distributions of funds from our subsidiaries.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Securities Authorized for Issuance Under Equity Compensation Plans</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">For information on securities authorized for issuance under our equity compensation plans, refer to &#x201c;Item 12 - Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters,&#x201d; which is incorporated herein by reference.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Recent Sales of Unregistered Securities</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">None.</p>
  <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 8pt;"><b style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: justify;">&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Use of Proceeds from Registered Securities</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Not applicable.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><a id="item6" title="item6" href="#"></a>Item 6. [Reserved]</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     23
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><a id="item7" title="item7" href="#"></a>Item&#xa0;7. Management&#x2019;s Discussion and Analysis of Financial Condition and Results of Operations</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following discussion and analysis of our financial condition and results of operations should be read together with &#x201c;Item 1 &#x2013; Business,&#x201d; the consolidated financial statements and the related notes thereto in Item 8 of this Annual Report on Form 10-K. This discussion contains forward-looking statements, based on current expectations and related to future events and our future financial performance, that involve risks and uncertainties. Our actual results may differ materially from those anticipated in these forward-looking statements as a result of many factors, including those set forth under &#x201c;Item 1A. - Risk Factors.&#x201d;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Overview </b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Generac is a leading energy technology solutions company that provides backup and prime power generation systems for residential and commercial &amp;&#xa0;industrial (C&amp;I) applications, solar + battery storage solutions, smart home energy management devices and energy services, advanced power grid software platforms, and engine- &amp; battery-powered tools and equipment.&#xa0;As an energy technology solutions company that is &#x201c;Powering a Smarter World&#x201d;, our corporate purpose is to lead the evolution to more resilient, efficient, and sustainable energy solutions around the world.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">Further information regarding our business is provided in &#x201c;Part I, Item 1. Business&#x201d; of this Annual Report.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Business D</b><b>rivers</b><b> and Operational Factors</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#x201c;Part I, Item 1. Business&#x201d; of this Annual Report contains information regarding business drivers, including key mega-trends and strategic growth themes under the subheading &#x201c;Mega-Trends, Strategic Growth Themes, and Additional Business Drivers.&#x201d;</p>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>&#xa0;</i></b><b><i>F</i></b><b><i>actors</i></b><b><i> Affecting Results of O</i></b><b><i>perations</i></b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We are subject to various factors that can affect our results of operations, which we attempt to mitigate through factors we can control, including continued product development, expanded distribution, pricing, cost control and hedging. Certain operational and other factors that affect our business include the following:</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><i>Effect of commodity, currency, component price fluctuations, and resource availability.</i>&#xa0;&#xa0;&#xa0;&#xa0;Industry-wide price fluctuations of key commodities, such as steel, copper and aluminum, and&#xa0;other components we use in our products, as well as changes in labor costs required to produce our products, can have a material impact on our results of operations. Acquisitions in recent&#xa0;years have increased&#xa0;our use of advanced electronic&#xa0;components and battery cells, as well as further expanded our commercial and operational presence outside of the United States. Our&#xa0;international acquisitions, and&#xa0;our existing&#xa0;global supply chain, expose us to fluctuations in foreign currency exchange rates and regulatory tariffs that can also have a material impact on our results of operations. Additionally, significant volatility in raw material prices and other&#xa0;costs, ongoing logistics challenges, and various supply chain constraints, are leading to&#xa0;fluctuations in input costs and delays for certain of our products that are adversely impacting our margins.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">We have historically attempted to mitigate the impact of&#xa0;inflationary pressures through improved product design and sourcing, manufacturing efficiencies, price increases, and select hedging transactions. We have implemented multiple price increases&#xa0;to help mitigate the impact of&#xa0;rising&#xa0;costs, and we continued&#xa0;to realize the benefit of these pricing actions in 2022. Our results are also influenced by changes in fuel prices in the form of higher freight rates, which in some cases are accepted by our customers and in other cases are absorbed&#xa0;by us.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       24
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Seasonality.</i>&#xa0;&#xa0;&#xa0;&#xa0;Although there is demand for our products throughout the year, in each of the past five years, approximately<span style="color:#000000;"> 19% to 25% of our net sales occurred in the first quarter, 22% to 28% in the second quarter, 24% to 28% in the third quarter and 23% to 31%</span> in the fourth quarter, with different seasonality depending primarily on the occurrence, timing and severity of major power outage activity in each year. Major outage activity is unpredictable by nature and, as a result, our sales levels and profitability may fluctuate from period to period. The seasonality experienced during a major power outage, and for the subsequent quarters following the event, will vary relative to other periods where no major outage events occurred.&#xa0;For Residential products, we are currently experiencing higher field inventories of home standby generators given installation capacity constraints in our distribution network that has resulted in lower orders from our channel partners in the second half of 2022, and this headwind is expected to persist into the first half of 2023, resulting in expected lower seasonality weighting in the first half of 2023 relative to historical norms.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Russia-Ukraine Conflict.</i>&#xa0; &#xa0; In February 2022, Russia commenced military action against Ukraine. In response, the U.S. and certain other countries imposed significant sanctions and export controls against Russia, Belarus and certain individuals and entities connected to Russian or Belarusian political, business, and financial organizations. In March 2022, we announced our suspension of operations and sales in Russia.&#xa0;Our sales to customers in Russia and Ukraine represented less than 1% of our total revenue for the year&#xa0;ended&#xa0;December 31, 2021, and therefore the impact on our financial results is not expected to be material.&#xa0;However, the situation remains uncertain and it is difficult to predict the impact that the conflict and actions taken in response to it&#xa0;will have on our business.&#xa0;In particular, the situation could increase our costs, disrupt our supply chain, significantly hinder our ability to find materials or key single-sourced components we need to make certain products, or otherwise adversely affect our business and results of operations.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Impact of the COVID-19 pandemic.</i>&#xa0;&#xa0;<i> </i>&#xa0;The COVID-19 pandemic has influenced various trends we have experienced and may experience in future periods involving&#xa0;supply chain and operations constraints.&#xa0;We manufacture and provide essential products and services to a variety of critical infrastructure customers around the globe. Substantially all of our operations and production activities have been operational during the pandemic.&#xa0;If we were to encounter a significant work stoppage,&#xa0;disruption, or&#xa0;COVID-19 outbreak at one or more of our&#xa0;locations or suppliers, we may not be able to satisfy customer demand for a period of time. To date, we have&#xa0;experienced various&#xa0;interruptions to our supply chain as a result of the COVID-19 pandemic.&#xa0;We have experienced inbound and outbound logistics delays and increased costs; however,&#xa0;we continue to monitor scheduled material receipts to mitigate these&#xa0;delays. This could&#xa0;change if freight carriers are delayed or not able to operate.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The future&#xa0;impact of COVID-19 on our business is dependent on future developments, including the duration of the pandemic, our ability to continue to operate during the pandemic, actions taken by domestic and foreign governments to contain the spread of the virus, and the related length of its impact on the global economy and our customers. Refer to the COVID-19 related risk factor disclosed in &#x201c;Item 1A.&#xa0;Risk Factors&#x201d; of&#xa0;this Annual Report on Form 10-K.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Factors influencing interest </i><i>expense.&#xa0; &#xa0;&#xa0;</i>Interest expense can be impacted by a variety of factors, including market fluctuations in SOFR, interest rate election periods, interest rate swap agreements, repayments or borrowings of indebtedness, and amendments to our credit agreements. In connection with our credit agreement&#xa0;amendment in June&#xa0;2022, SOFR became&#xa0;the new benchmark interest rate for the new Tranche A Term Loan Facility and the Revolving Facility, and&#xa0;all LIBOR provisions applicable to the existing Tranche B Term Loan Facility were replaced with SOFR provisions.&#xa0;Interest expense increased&#xa0;during 2022&#xa0;compared to 2021, primarily due to increased borrowings, higher interest rates, and interest accretion on contingent acquisition consideration.&#xa0;Refer to Note 12, &#x201c;Credit Agreements,&#x201d; to the consolidated financial statements in Item 8 of this Annual Report on Form 10-K for further information.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Factors influencing provision for income taxes and cash</i><i> income</i><i> taxes paid.</i>&#xa0; &#xa0; As of December 31, 2021, the tax-deductible goodwill and intangible assets&#xa0;from our acquisition by CCMP Capital Advisors, LLC in 2006 were fully amortized. The expiration of this tax shield&#xa0;resulted in a higher cash income tax obligation in 2022 and will continue to result in a higher income tax obligation on a go-forward basis.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">On August 16, 2022, the U.S. government enacted the Inflation Reduction Act (the Act). The Act in part provides funding and tax incentives for certain clean energy products and projects. While the Act did not impact 2022 second half results, we will continue to review the Act and any regulations or guidance issued by the U.S. Treasury Department or by a state&#xa0;which may provide a tax benefit or expense. We will update our future tax provisions based on new regulations or guidance accordingly.&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Components of Net Sales and E</b><b>xpenses</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Net </i></b><b><i>S</i></b><b><i>ales</i></b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Our net sales primarily consist of product sales to our customers. This includes sales of our power generation equipment, energy storage systems, and other power products to the residential,&#xa0;commercial and industrial markets, as well as service parts to our dealer network. Net sales also include shipping and handling charges billed to customers, with the related freight costs included in cost of goods sold. Additionally, we offer other services, including extended warranties, installation, maintenance, data center and telecom design and build, remote monitoring, and grid services to utilities in certain circumstances.&#xa0;These services accounted f<span style="color:#000000;">or less than 3%&#xa0;of </span>our net sales for the year ended December 31, 2022. Refer to Note 2, &#x201c;Summary of&#xa0;Accounting Policies - Revenue Recognition,&#x201d; to the consolidated financial statements in Item 8 of this Annual Report on Form 10-K for further information on our revenue streams and related revenue recognition accounting policies.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">We are not dependent on any one channel or customer for our net sales, with no single customer representing more than <span style="color:#000000;">4%</span> of our sales, and our top ten customers representing less than <span style="color:#000000;">20%</span> of our net sales in aggregate for the year ended December 31, 2022.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Costs of Goods S</i></b><b><i>old</i></b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The principal elements of costs of goods sold&#xa0;are component parts, raw materials, inbound and outbound freight, factory overhead and labor. Component parts and raw materials comprised approximately<span style="color:#000000;"> 72%</span> of costs of goods sold for the year ended December 31, 2022. The principal component parts are engines,&#xa0;alternators,&#xa0;batteries, electronic controls, and steel enclosures. We design and manufacture air-cooled engines for certain of our generators up to 26kW, along with certain liquid-cooled, natural gas&#xa0;engines. We source engines for certain of our smaller products and all of our diesel products. For certain natural gas engines, we source the base engine block, and then add a significant amount of value engineering, sub-systems and other content to the point that we are recognized as the original equipment manufacturer (OEM) of those engines. We design and manufacture many of the alternators for our generators.&#xa0;We also manufacture other generator components where we believe we have a design and cost advantage. We source component parts from an extensive global network of reliable, high-quality suppliers. In some cases, these relationships are proprietary. For certain energy technology products, we source these products complete from certain contract manufacturers.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The principal sourced raw materials used in the manufacturing process are steel, copper and aluminum. We are susceptible to fluctuations in the cost of these commodities, impacting our costs of goods sold. We seek to mitigate the impact of commodity prices on our business through a continued focus on global sourcing, product design improvements, manufacturing efficiencies, price increases and select hedging transactions. We are also impacted by foreign currency fluctuations given our global supply chain. There is typically a lag between raw material price fluctuations and their effect on our costs of goods sold.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">In 2021 and 2022, we&#xa0;experienced&#xa0;higher input costs resulting from supply chain challenges and the overall inflationary environment, including increased commodity prices, logistics costs, and labor. We have&#xa0;implemented multiple price increases&#xa0;to help mitigate the impact of these rising commodity costs, and the realization of these price increases have partially offset the higher input costs.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The balance of cost of goods sold include our manufacturing and warehousing facilities, factory overhead, labor and shipping costs. Factory overhead includes utilities, insurance, support personnel, depreciation, general supplies,&#xa0;and maintenance. Although we attempt to maintain a flexible manufacturing cost structure, our margins can be impacted if&#xa0;we cannot timely adjust labor and manufacturing costs to match fluctuations in net sales.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>Operating E</i></b><b><i>xpenses</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Our operating expenses consist of costs incurred to support our sales, marketing, distribution, service parts, warranty, engineering, information systems, human resources, accounting, finance, risk management, legal and tax functions, among others. These expenses include personnel costs such as salaries, bonuses, employee benefit costs, payroll taxes, and share-based compensation cost,&#xa0;and are classified into three categories: selling and service, research and development, and general and administrative. Additionally, the amortization expense related to our finite-lived intangible assets is included within operating expenses.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     25
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Selling and service.</i>&#xa0;&#xa0;&#xa0;&#xa0;Our selling and service expenses consist primarily of personnel expense, marketing expense, standard assurance warranty expense, bad debt provisions, and other sales expenses. Our personnel expense recorded in selling and services expenses includes the expense of our sales force and other personnel involved in the marketing, sales and service of our products. Standard warranty expense is estimated based on historical trends or based on specific warranty matters as they become known and reasonably estimable. Our marketing expenses include media advertising, promotional expenses, co-op advertising costs, direct mail costs, printed material costs, product display costs, market research expenses, and trade show expenses. Marketing expenses are generally related to the launch of new product offerings,&#xa0;opportunities to create market awareness for our products, and general brand awareness marketing efforts.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Research and </i><i>development.</i>&#xa0;&#xa0;&#xa0;&#xa0;Our research and development expenses include mechanical engineering, electronics engineering, and software development costs and they support numerous projects covering all of our product lines. They also support our connectivity, grid services, remote monitoring, and energy management&#xa0;initiatives. We operate engineering facilities with extensive capabilities at many locations globally and employ approximate<span style="color:#000000;">ly&#xa0;1,000 </span>personnel with focus on new product development, existing product improvement and cost containment. We are committed to research and development and rely on a combination of patents and trademarks to establish and protect our proprietary rights. Our research and development costs are expensed as incurred.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>General and administrative.</i>&#xa0;&#xa0;&#xa0;&#xa0;Our general and administrative expenses include personnel costs for general and administrative employees; accounting, legal and professional services fees; information technology costs; insurance; travel and entertainment expense; adjustments to contingent acquisition consideration; and other corporate expenses.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Acquisition related costs.</i>&#xa0;&#xa0;&#xa0;&#xa0;Acquisition related costs are external costs incurred in connection with&#xa0;a business combination including legal fees, professional and advisory&#xa0;services, stamp tax, and indemnity and warranty insurance premiums.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Amortization of intangibles.</i>&#xa0;&#xa0;&#xa0;&#xa0;Our amortization of intangibles expense includes the straight-line amortization of finite-lived tradenames, customer lists, patents and technology, and other intangibles assets.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>&#xa0;</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>Other </i></b><b><i>(Expense) Income</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Other (expense) income includes the interest expense on our outstanding borrowings, amortization of debt financing costs and original issue discount, and interest accretion on contingent acquisition consideration.&#xa0;Other (expense) income also includes other financial items such as losses on extinguishment of debt,&#xa0;investment&#xa0;income earned on our cash and cash equivalents, and gains/losses&#xa0;on the sale of certain investments.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>&#xa0;</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Results of O</b><b>perations</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">A detailed discussion of the year-over-year changes from the Company's fiscal 2020&#xa0;to fiscal 2021&#xa0;can be found in the Management's Discussion and Analysis section of&#xa0;the Company's fiscal 2021&#xa0;Annual Report on Form 10-K filed February 22, 2022.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i><b>Year ended December 31, 2022 compared to year ended December 31, 2021</b></i></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The following table sets forth our consolidated statement of operations data for the periods indicated:</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">
   <tbody>
    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>Year Ended December 31,</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>&#xa0;</b></td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"><b>&#xa0;</b></td>
    </tr>

    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>(U.S. Dollars in thousands)</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>2022</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>2021</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>$ Change</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>% Change</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Net sales</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,564,737</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,737,184</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">827,553</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">22.1</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Cost of goods sold</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,042,733</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,377,102</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">665,631</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">28.0</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Gross profit</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,522,004</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,360,082</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">161,922</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11.9</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Operating expenses:</p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Selling and service</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">496,260</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">319,020</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">177,240</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">55.6</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Research and development</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">159,774</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">104,303</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">55,471</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">53.2</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">General and administrative</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">194,861</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">144,272</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">50,589</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">35.1</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; margin-left: 9pt;">Acquisition related costs</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">1,459</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">21,465</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">(20,006</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">-93.2</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Amortization of intangible assets</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">103,320</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">49,886</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">53,434</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">107.1</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Total operating expenses</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px; border-bottom: 1px solid rgb(0, 0, 0);">955,674</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px; border-bottom: 1px solid rgb(0, 0, 0);">638,946</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px; border-bottom: 1px solid rgb(0, 0, 0);">316,728</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px; border-bottom: 1px solid rgb(0, 0, 0);">49.6</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Income from operations</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">566,330</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">721,136</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">(154,806</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">-21.5</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total other expense, net</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(57,864</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(29,610</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(28,254</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">95.4</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Income before provision for income taxes</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">508,466</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">691,526</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">(183,060</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">-26.5</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Provision for income taxes</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">99,596</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">134,957</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(35,361</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-26.2</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Net income</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">408,870</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">556,569</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">(147,699</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">-26.5</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Net income attributable to noncontrolling interests</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">9,368</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,075</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,293</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">54.2</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Net income attributable to Generac Holdings Inc.</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px; border-bottom: 3px double rgb(0, 0, 0);">399,502</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px; border-bottom: 3px double rgb(0, 0, 0);">550,494</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px; border-bottom: 3px double rgb(0, 0, 0);">(150,992</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px; border-bottom: 3px double rgb(0, 0, 0);">-27.4</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     26
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following sets forth our reportable segment information for the periods indicated:</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Net Sales by Reportable Segment</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Year Ended December 31,</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
    </tr>

    <tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>(U.S. Dollars in thousands)</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>2022</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>2021</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>$ Change</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>% Change</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Domestic</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,867,866</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,164,050</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">703,816</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">22.2</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">International</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">696,871</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">573,134</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">123,737</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">21.6</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total net sales</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,564,737</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,737,184</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">827,553</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">22.1</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td>
    </tr>

   </tbody>
  </table>
  <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td colspan="22" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Total Sales by Reportable Segment</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Year Ended December 31, 2022</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Year Ended December 31, 2021</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>External Net Sales</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Intersegment Sales</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Total Sales</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>External Net Sales</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Intersegment Sales</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Total Sales</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Domestic</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">3,867,866</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">60,731</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">3,928,597</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">3,164,050</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">39,339</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">3,203,389</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">International</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">696,871</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">93,699</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">790,570</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">573,134</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">26,123</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">599,257</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Intercompany elimination</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(154,430</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(154,430</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(65,462</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(65,462</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total net sales</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,564,737</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,564,737</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,737,184</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,737,184</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
    </tr>

   </tbody>
  </table>
  <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Adjusted EBITDA by Reportable Segment</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Year Ended December 31,</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
    </tr>

    <tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>2022</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>2021</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>$ Change</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>% Change</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Domestic</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">716,302</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">795,417</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(79,115</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-9.9</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">International</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">109,065</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">66,008</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">43,057</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">65.2</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total Adjusted EBITDA</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">825,367</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">861,425</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(36,058</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-4.2</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following table sets forth our net sales by product class&#xa0;for the periods indicated:</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><b>Net Sales by Product Class</b></td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Year Ended December 31,</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
    </tr>

    <tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>(U.S. Dollars in thousands)</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>2022</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>2021</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>$ Change</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>% Change</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Residential products</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,911,871</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,456,765</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">455,106</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">18.5</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Commercial &amp; industrial products</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,260,737</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">998,998</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">261,739</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">26.2</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Other</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">392,129</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">281,421</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">110,708</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">39.3</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">%</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total net sales</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,564,737</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,737,184</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">827,553</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">22.1</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">%</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Net sales</i><i>. </i><i>&#xa0; &#xa0;</i>The increase in Domestic segment sales for the year ended December 31, 2022 was primarily driven by growth in residential product sales, highlighted by a robust increase in home standby generator shipments&#xa0;in the first three quarters of the year. Home standby generator sales decreased in the fourth quarter compared to the prior year due to higher field inventories and lower home standby generator orders from our channel partners&#xa0;given installation capacity constraints in our distribution network. In addition, sales of clean energy products declined compared to the prior year in the second half of 2022 due to the loss of a key customer that filed for bankruptcy.&#xa0;C&amp;I product sales also grew at a robust rate during the year with strength across all channels, including national rental equipment, telecom, and industrial distribution customers.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The increase in International segment sales for the year ended December 31, 2022 was driven by strong growth across all major regions as compared to the prior year, most notably in Europe and Latin America. This was partially offset by unfavorable foreign exchange impacts of approximately $43 million.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <div style="font-size: 10pt;">
    In addition, total&#xa0;contribution from non-annualized&#xa0;acquisitions for the&#xa0;year ended&#xa0;
   December 31, 2022&#xa0;was $271
   <span style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; color: rgb(0, 0, 0);">.6&#xa0;</span>million, including $213.7&#xa0;million for the domestic segment and $57.9&#xa0;million for the&#xa0;international segment.
  </div>
  <div style="font-size: 10pt;">
    &#xa0;
  </div>
  <p style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Gross profit. </i><i>&#xa0;&#xa0;&#xa0;</i>Gross profit margin for the year ended December 31, 2022 was 33.3% compared to 36.4% for the year ended December 31, 2021. The gross profit margin decrease was primarily driven by&#xa0;higher input costs&#xa0;resulting from supply chain challenges and the overall inflationary environment. These higher costs were partially offset by favorable price realization of previously implemented pricing actions.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Operating expenses. </i><i>&#xa0;&#xa0;&#xa0;</i>Operating expenses increased $316.7&#xa0;million, or 49.6%, as compared to the prior year.&#xa0;The increase includes pre-tax charges comprised of $17.9 million of provision for a credit loss related to a clean energy product customer that&#xa0;filed for bankruptcy, and $37.3 million of provision for clean energy product warranty-related matters, and a provision of $10.0 million for a specific&#xa0;pending and unresolved matter with the CPSC concerning the imposition of potential penalty fines for allegedly failing to timely submit a report under the CPSA in relation to certain portable generators that were subject to a voluntary recall previously announced on July 29, 2021. In addition, amortization of intangibles increased $53.4 million over the prior year. The remaining increase was primarily driven by the impact of recurring operating expenses from recent acquisitions, increased employee costs, and additional variable expenses from increased sales volumes. These increases were partially offset by lower acquisition-related transaction costs compared to the prior year.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>&#xa0;</i></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Other expense.&#xa0; &#xa0;&#xa0;</i>The increase in other expense was driven by higher interest costs due to increased borrowings and interest rates compared to the prior year, higher interest accretion on contingent acquisition consideration in the current year, and a $3.7 million loss on extinguishment of debt incurred in the second quarter of 2022.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Provision for i</i><i>ncome tax</i><i>es</i><i>.</i> &#xa0;&#xa0;&#xa0;The effective income tax rates for the years ended December 31, 2022 and 2021 were 19.6% and 19.5%, respectively. The slight increase in the effective tax rate was primarily due to&#xa0;a lower net stock compensation deduction reported in the current year compared to the prior year.&#xa0;This was largely offset by prior year non-deductible transaction fees and a discrete&#xa0;tax item created by a legislative increase in the tax rate in a foreign jurisdiction which revalued certain deferred tax liabilities reported in the prior year.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Net income attributable to Generac </i><i>Holdings Inc.</i>&#xa0; &#xa0; Net income attributable to Generac Holdings Inc. was $399.5&#xa0;million as compared to $550.5&#xa0;million in the prior year period. The decrease&#xa0;was primarily driven by lower gross profit margin, increased expenses, and other items noted above.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Adjusted EBITDA. </i><i>&#xa0; &#xa0;</i>Adjusted EBITDA is defined and reconciled&#xa0;to net income&#xa0;in, &#x201c;Non-GAAP Measures - Adjusted EBITDA&#x201d; included below in Item 7 of this Annual Report on Form 10-K.&#xa0;Adjusted EBITDA margins for the Domestic segment for the year ended December 31, 2022 were 18.2% of domestic segment total sales&#xa0;as compared to 24.8% of domestic segment total&#xa0;sales for the year ended December 31, 2021. The Adjusted EBITDA margin decrease was driven by higher input costs, partially offset by pricing benefits. In addition, continued operating expense investments for future growth and the impact of acquisitions had an unfavorable impact&#xa0;on margins during the current year. Adjusted EBITDA margins for the International segment, before deducting for non-controlling interests, for the year ended December 31, 2022 were 13.8% of international segment total sales as compared to 11.0% of international segment total&#xa0;sales for the year ended December 31, 2021. The Adjusted EBITDA margin increase was driven by the positive impact of recent acquisitions and improved operating leverage on increased sales volumes.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>&#xa0;</i></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Adjusted net income</i><i>. </i><i>&#xa0;&#xa0;&#xa0;</i>Adjusted Net Income is defined and reconciled to net income in, &#x201c;Non-GAAP Measures - Adjusted Net Income&#x201d; included below in Item 7 of this Annual Report on Form 10-K.&#xa0;Adjusted Net Income of $538.8&#xa0;million for the year ended December 31, 2022&#xa0;decreased&#xa0;12.9% from $618.9&#xa0;million for the year ended December 31, 2021. <span style="color:#000000;">This decrease was driven by&#xa0;decreased net income due to the factors outlined above, partially offset by the impact of various add-backs in the 2022 period. &#xa0;</span></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       27
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Liquidity and Financial P</b><b>osition</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Our primary cash requirements include payment for our raw materials and components, salaries &amp; benefits, facility and lease costs, operating expenses, interest and principal payments on our debt and capital expenditures. We finance our operations primarily through cash flow generated from operations and, if necessary, borrowings under our revolving&#xa0;credit facility.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Our credit agreements originally provided for a $1.2 billion term loan B credit facility (Tranche B Term Loan Facility) and currently include&#xa0;a $300.0 million uncommitted incremental term loan facility. Additionally, our credit agreements also previously provided for a&#xa0;$500.0 million ABL facility (ABL Facility) that was paid off and terminated in June 2022.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">In June 2022, we amended and restated our&#xa0;existing credit agreements&#xa0;(Amended Credit Agreement) resulting in a&#xa0;term loan facility in an aggregate principal amount of $750&#xa0;million&#xa0;(Tranche A Term Loan Facility and, together with the Tranche B Term Loan Facility, the &#x201c;Term Loans&#x201d;), established a new revolving facility in an aggregate principal amount of $1.25&#xa0;billion&#xa0;(Revolving Facility), terminated the ABL Facility, and&#xa0;replaced all LIBOR provisions to the existing Tranche B Term Loan Facility with SOFR provisions. Proceeds received&#xa0;from the Tranche A Term Loan Facility were used to repay the total existing outstanding balance on our&#xa0;former ABL Facility and&#xa0;make a $250&#xa0;million&#xa0;voluntary prepayment on our Tranche B Term Loan Facility, with the remaining funds to be used for future general corporate purposes.&#xa0;As a result of the prepayments, we&#xa0;wrote off $3.5 million&#xa0;of original issue discount and capitalized debt issuance costs during the second quarter of 2022 as a loss on extinguishment of debt in the&#xa0;consolidated statements of comprehensive income. The Revolving Facility was unfunded at closing.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The Tranche B Term Loan Facility matures on December 13, 2026, while the Tranche A Term Loan Facility and Revolving Facility mature on June 29, 2027.&#xa0;The Tranche A Term Loan Facility principal is repayable in quarterly installments beginning in September 2023. Principal payments are due on these&#xa0;facilities as follows:</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 794px; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">
   <tbody>
    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 597px;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">2023</p> </td>
     <td style="width: 27px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 21px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 135px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,375</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 597px;">2024</td>
     <td style="width: 27px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 21px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 135px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">28,125</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 597px;">2025</td>
     <td style="width: 27px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 21px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 135px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">46,875</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 597px;">2026</td>
     <td style="width: 27px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 21px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 135px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">595,625</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 597px;">2027</td>
     <td style="width: 27px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 21px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 135px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">690,000</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-left: 9pt; width: 585px;">Total</td>
     <td style="width: 27px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 21px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 135px; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,370,000</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">As of December&#xa0;31, 2022, there was $530 million outstanding under the Tranche B Term Loan Facility, $750 million outstanding under the Tranche A Term Loan Facility, and $90.0 million of borrowings on our Revolving Facility, leaving $1,158.7&#xa0;million&#xa0;of availability, net of outstanding letters of credit. Our Tranche B Term Loan Facility bears interest at rates based on either a base rate plus an applicable margin of 0.75% or adjusted SOFR&#xa0;rate plus an applicable margin of 1.75%, subject to a SOFR floor of 0.0%. Our Tranche A Term Loan Facility&#xa0;and the Revolving Facility&#xa0;initially bear interest at a rate based on adjusted SOFR plus an applicable margin of 1.5% through December 31, 2022, subject to a SOFR floor of 0.0%. Beginning on January 1, 2023, the Tranche A Term Loan Facility and Revolving Facility bear interest at a rate based on adjusted SOFR plus an applicable margin between 1.25% and&#xa0;1.75%,&#xa0;based on the Company's total leverage ratio and subject to a SOFR floor of 0.0%.&#xa0;At December 31, 2022 The interest rates for the Tranche A Term Loan Facility and Tranche B Term Loan Facility were 5.72% and 5.97%, respectively.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The Tranche B Term Loan&#xa0;Facility does not require an Excess Cash Flow payment (as defined in the&#xa0;Amended Credit Agreement) if our secured leverage ratio is maintained below 3.75 to 1.00 times. As of December 31, 2022, our secured leverage ratio was 1.55&#xa0;to 1.00 times.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">As of December 31, 2022, we had <span style="color:#000000;">$1,291.4&#xa0;</span>million of available liquidity comprised of <span style="color:#000000;">$132.7&#xa0;</span>million of cash and cash equivalents and <span style="color:#000000;">$1,158.7&#xa0;</span>million available under our Revolving Facility, net of outstanding letters of credit.&#xa0;We believe we have a strong liquidity position that allows us&#xa0;to execute our strategic plan and provides the flexibility to continue to invest in future growth opportunities.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">In September 2020, the Company&#x2019;s Board of Directors approved a&#xa0;stock repurchase program, which&#xa0;commenced on October 27, 2020, and allowed&#xa0;for the&#xa0;repurchase of up to&#xa0;$250 million&#xa0;of the Company's&#xa0;common stock over a 24-month&#xa0;period. That program was exhausted in the third quarter of 2022. In&#xa0;July&#xa0;2022, the Company's Board of Directors approved another stock repurchase program, which commenced on August 5, 2022, and allows for the repurchase of up to $500 million&#xa0;of the Company's common stock over a 24-month period.&#xa0;The Company may repurchase its common stock from time to time, in amounts and at prices the Company deems appropriate, subject to market conditions and other considerations. The repurchases may be executed using open market purchases, privately negotiated agreements or other transactions. The actual timing, number and value of shares repurchased under the program will be determined by management at its discretion and will depend on a number of factors, including the market price of the Company&#x2019;s common stock,&#xa0;general market and economic conditions, applicable legal requirements, and compliance with the terms of the Company&#x2019;s outstanding credit agreements. The repurchases may be funded with cash on hand, available borrowings, or proceeds from potential debt or other capital markets sources. The stock repurchase program may be suspended or discontinued at any time without prior notice. During the year ended December 31, 2022, the&#xa0;Company repurchased 2,722,007&#xa0;shares of its common stock for $345,840.&#xa0;Since the inception of all stock repurchase programs (starting in August 2015), the Company has repurchased 11,748,713&#xa0;shares of its&#xa0;common stock for $777.4 million&#xa0;(at an average cost per share of $66.17).</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">See Note 12, &#x201c;Credit Agreements,&#x201d; and Note 13, &#x201c;Stock Repurchase Program,&#x201d; to the consolidated financial statements included in Item 8&#xa0;of this Annual&#xa0;Report on Form 10-K&#xa0;for more information on our credit agreements and stock repurchase programs.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We have an arrangement with a finance company to provide floor plan financing for selected dealers. This arrangement provides liquidity for our dealers by financing dealer purchases of products with credit availability from the finance company. We receive payment from the finance company after shipment of product to the dealer, and our dealers are given a longer period of time to pay the finance company. If our dealers do not pay the finance company, we may be required to repurchase the applicable inventory held by the dealer. We do not indemnify the finance company for any credit losses they may incur. Total dealer purchases&#xa0;financed under this arrangement accounted for approximately 15<span style="color:#000000;">%</span> of net sales for the years ended December 31, 2022 and 2021. The amount financed by dealers which remained outstanding was <span style="color:#000000;">$212.2</span>&#xa0;million and $115.9&#xa0;million as of December 31, 2022 and 2021, respectively.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Long-term L</b><b>iquidity</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We believe that our cash and cash equivalents, cash flow from operations, and availability under our Revolving Facility&#xa0;and other short-term lines of credit will provide us with sufficient capital to continue to grow our business in the future. We may use a portion of our cash flow to pay&#xa0;principal on our outstanding debt, as well as repurchase shares of our common stock, impacting the amount available for working capital, capital expenditures, acquisitions, and other general corporate purposes. As we continue to expand our business, we may require additional capital to fund working capital, capital expenditures or acquisitions.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Cash F</b><b>low</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><i><b>Year ended December 31, 2022 compared to year ended December 31, 2021</b></i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following table summarizes our cash flows by source (use)&#xa0;for the periods presented:</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Year Ended December 31,</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
    </tr>

    <tr class="finHeading" style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>(U.S. Dollars in thousands)</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>2022</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>2021</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>$ Change</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>% Change</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net cash provided by operating activities</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58,516</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">411,156</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(352,640</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-85.8</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net cash used in investing activities</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(134,232</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(817,287</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">683,055</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-83.6</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net cash provided by (used in) financing activities</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">64,043</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(102,970</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">167,013</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-162.2</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The decrease in net cash provided by operating activities primarily reflects&#xa0;increased working capital investment&#xa0;as well as lower operating earnings in the current year period. The higher working capital investment was primarily driven by higher&#xa0;inventory levels at the end of the current year.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Net cash used in investing activities for the year ended December 31, 2022 primarily consisted&#xa0;of&#xa0;cash payments of $86.2 million&#xa0;for the purchase of property and equipment, $25.1&#xa0;million related to the acquisition of businesses, $15.0 million investment in WATT&#xa0;Fuel Cell Corporation, and $14.9 million for contributions to an equity method investment, which were partially offset by&#xa0;cash proceeds from the sale of an investment of $1.3&#xa0;million. Net cash used in investing activities for the year ended December 31, 2021 primarily consisted&#xa0;of&#xa0;cash payments of $713.5&#xa0;million related to the acquisition of businesses and $110.0&#xa0;million for the purchase of property and equipment, which were partially offset by cash proceeds of $5.0 million from the sale of an investment.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Net cash provided by&#xa0;financing activities for the year ended December 31, 2022 primarily includes&#xa0;proceeds of $1,026.3&#xa0;million from long-term borrowings, $248.2&#xa0;million from short-term borrowings,&#xa0;and $13.8&#xa0;million from the exercise of stock options. These cash proceeds were partially offset by&#xa0;$810.3&#xa0;million of debt repayments ($268.1&#xa0;million of short-term borrowings and $542.2&#xa0;million of long-term borrowings and finance lease obligations), $345.8&#xa0;million of&#xa0;stock repurchases, $40.9&#xa0;million of taxes paid related to&#xa0;equity awards, $16.1&#xa0;million of contingent consideration for acquired businesses, and $10.3 million for payment of debt issuance costs.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Net cash used in financing activities for the year ended December 31, 2021 primarily consisted of $347.7&#xa0;million of debt repayments ($239.1&#xa0;million of short-term borrowings and $108.6&#xa0;million of long-term borrowings), $126.0 million of stock repurchases, $58.9&#xa0;million of taxes paid related to equity awards, $27.2 million as a purchase of additional ownership interest of PR Industrial S.r.l. and its subsidiaries (Pramac), and $3.8&#xa0;million of contingent consideration for acquired businesses. These payments were partially offset by $272.8&#xa0;million cash proceeds from short-term borrowings, $150.1&#xa0;million cash proceeds from&#xa0;long-term borrowings&#xa0;and $38.8&#xa0;million of proceeds from the exercise of stock options.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>&#xa0;</i></b></p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     28
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"><b style="font-size: 10pt; text-align: justify;">&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Senior Secured Credit F</b><b>acilities</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Refer to Note 12, &#x201c;Credit Agreements,&#x201d; to the consolidated financial statements in Item 8 and the &#x201c;Liquidity and Financial Position&#x201d; section included in Item 7 of this Annual Report on Form 10-K for information on our&#xa0;senior secured credit facilities.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Covenant C</b><b>ompliance</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Term Loans contain&#xa0;restrictions on the Company&#x2019;s ability to pay distributions and dividends. Payments can be made to the Company or other parent companies for certain expenses such as operating expenses in the ordinary course, fees and expenses related to any debt or equity offering and to pay franchise or similar taxes. Dividends can be used to repurchase equity interests, subject to limitations in certain circumstances. The Term Loans restrict&#xa0;the aggregate amount of dividends and distributions that can be paid and, in certain circumstances, requires pro forma compliance with certain fixed charge coverage ratios or gross leverage ratios, as applicable, in order to pay certain dividends and distributions. The Term Loans also contain&#xa0;other affirmative and negative covenants that, among other things, limit the incurrence of additional indebtedness, liens on property, sale and leaseback transactions, investments, loans and advances, mergers or consolidations, asset sales, acquisitions, transactions with affiliates, prepayments of certain other indebtedness and modifications of our organizational documents. The Tranche A Term Loan Facility and the Revolving Facility added certain financial covenants that require the Company to maintain a total leverage ratio below 3.75 to 1.00 as well as an interest coverage ratio above 3.00 to 1.00. As of December 31, 2022, the Company&#x2019;s total leverage ratio was <span style="color:#000000;">1.74</span>&#xa0;to 1.00 times, and the Company's interest coverage ratio was 14<span style="color:#000000;">.81</span> to 1.00. The Company was in compliance with all other covenants of the Amended Credit Agreement as of December 31, 2022. The Tranche B Term Loan Facility does not contain any financial maintenance covenants.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Term Loans contain&#xa0;customary events of default, including, among others, nonpayment of principal, interest or other amounts, failure to perform covenants, inaccuracy of representations or warranties in any material respect, cross-defaults with other material indebtedness, certain undischarged judgments, the occurrence of certain ERISA, bankruptcy or insolvency events, or the occurrence of a change in control (as defined in the Term Loan). A bankruptcy or insolvency event of default will cause the obligations under the Term Loans to automatically become immediately due and payable.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Revolving&#xa0;Facility also contains covenants and events of default substantially similar to those in the Term Loans, as described above.&#xa0;</p>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Contractual O</b><b>bligations</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following table summarizes our expected payments for significant contractual obligations as of December 31, 2022, using the interest rates in effect as of that date:</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;">
   <tbody>
    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>(U.S. Dollars in thousands)</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Total</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2023</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2024</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2025</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2026</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2027</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>After 2027</b></p> </td>
     <td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Long-term debt, including current portion (1)</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">1,370,966</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">10,083</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">28,178</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">46,931</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">595,711</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">690,032</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">$</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">31</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Finance lease obligations, including current portion</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">27,420</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">2,650</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">2,455</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">1,996</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">1,604</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">1,504</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">17,211</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Interest on long-term debt and finance lease obligations</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">362,415</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">88,429</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">84,951</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">82,476</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">77,501</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">21,892</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">7,166</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Operating leases</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">118,360</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">34,208</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">30,834</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">20,386</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">9,855</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">8,334</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">14,743</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Short-term borrowings (2)</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">48,990</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">48,990</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
     <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total contractual cash obligations</p> </td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,928,151</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">184,360</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">146,418</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">151,789</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">684,671</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">721,762</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 7%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">39,151</td>
     <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">(1) The Tranche B Term Loan&#xa0;matures on December 13, 2026. The Tranche A Term Loan and the Revolving Facility&#xa0;mature&#xa0;on June 29, 2027. As of December 31, 2022, there was $90&#xa0;million&#xa0;outstanding under the Revolving Facility&#xa0;classified as long-term debt.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">(2) Short-term borrowings consist of borrowings by our foreign subsidiaries on local lines of credit.&#xa0;
   </p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Capital E</b><b>xpenditures</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Our operations require capital expenditures for facilities and related improvements,&#xa0;technology, research &amp; development, tooling, equipment, capacity expansion, IT systems &amp; infrastructure and upgrades.&#xa0;Capital expenditures were $86.2&#xa0;million, $110.0&#xa0;million, and $62.1&#xa0;million in&#xa0;the years ended December 31, 2022, 2021 and 2020, respectively, and were funded primarily through cash from operations.&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       29
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Critical Accounting P</b><b>olicies and Estimates</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">In preparing the financial statements, management is required to make estimates and assumptions that have an impact on the asset, liability, revenue and expense amounts reported. These estimates can also affect our supplemental information disclosures, including information about contingencies, risk and financial condition. We believe, given current facts and circumstances, that our estimates and assumptions are reasonable, adhere to U.S. GAAP, and are consistently applied. Inherent in the nature of an estimate or assumption is the fact that actual results may differ from estimates and estimates may vary as new facts and circumstances arise. We make routine estimates and judgments in determining net realizable value of accounts receivable, inventories, property and equipment, prepaid expenses, product warranties and other reserves. Management believes our most critical accounting estimates and assumptions are in the following areas: business combinations and purchase accounting; goodwill and other indefinite-lived intangible asset impairment assessment; and income taxes.&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Business </i></b><b><i>C</i></b><b><i>ombinations and </i></b><b><i>P</i></b><b><i>urchase </i></b><b><i>A</i></b><b><i>ccounting</i></b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">We account for business combinations using the acquisition method of accounting, and accordingly, the assets and liabilities of an&#xa0;acquired business are recorded at their respective fair values. The excess of the purchase price over the estimated fair value of assets and liabilities is recorded as goodwill. Assigning fair market values to the assets acquired and liabilities assumed at the date of an acquisition requires knowledge of current market values, the values of assets in use, and often requires the application of judgment regarding estimates and assumptions. While the ultimate responsibility resides with management, for material acquisitions we retain the services of certified valuation specialists to assist with assigning estimated values to certain acquired assets and assumed liabilities, including intangible assets, tangible long-lived assets, and contingent consideration. Acquired intangible assets, excluding goodwill, are valued using certain discounted cash flow methodologies based on future cash flows specific to the type of intangible asset purchased. This methodology incorporates various estimates and assumptions, the most significant being projected revenue growth rates, profit&#xa0;margins,&#xa0;forecasted cash flows,&#xa0;discount rates and terminal growth rates. If the contingent consideration&#xa0;is deemed significant or absent&#xa0;an agreed upon payout amount, the initial measurement&#xa0;of contingent consideration and the corresponding liability is evaluated using the Monte Carlo Method. For this valuation method, management develops&#xa0;projections during the contingent consideration&#xa0;period utilizing various potential pay-out scenarios. Probabilities are&#xa0;applied to each potential scenario and the resulting values are&#xa0;discounted using a rate that considers weighted average cost of capital as well as a specific risk premium associated with the riskiness of the contingent consideration&#xa0;itself, the related projections, and the overall business. Refer to Note 1, &#x201c;Description of Business,&#x201d; and Note 3, &#x201c;Acquisitions,&#x201d; to the consolidated financial statements in Item 8 of this Annual Report on Form 10-K for further information on the Company&#x2019;s business acquisitions.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Goodwill and Other </i></b><b><i>Indefinite-Lived </i></b><b><i>I</i></b><b><i>ntangible</i></b><b><i> A</i></b><b><i>ssets</i></b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Refer to Note 2, &#x201c;Summary of&#xa0;Accounting Policies &#x2013; Goodwill and Other Indefinite-Lived Intangible Assets,&#x201d; to the consolidated financial statements in Item 8 of this Annual Report on Form 10-K for further information on the Company&#x2019;s policy regarding the accounting for goodwill and other indefinite-lived intangible assets. The Company performed the required annual impairment tests for goodwill and other indefinite-lived intangible assets for the fiscal years 2022, 2021 and 2020, and found no impairment.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">When preparing a discounted cash flow analysis for purposes of our annual impairment test, we make a number of key estimates and assumptions. We estimate the future cash flows of the business based on historical and forecasted revenues and operating costs.&#xa0;In addition, we apply a discount rate to the estimated future cash flows for the purpose of the valuation. This discount rate is based on the estimated weighted average cost of capital for the business and may change from year to year. Weighted average cost of capital includes certain assumptions such as market capital structures, market betas, risk-free rate of return and estimated costs of borrowing.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">In our 2022&#xa0;impairment test calculation performed as of&#xa0;October 31,&#xa0;2022, the Latin America&#xa0;reporting unit&#xa0;had an estimated fair value that exceeded its carrying value by approximately 18%.&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The carrying value of the Latin America goodwill was $46.5&#xa0;million. Key financial assumptions utilized to determine the fair value of the reporting unit include revenue growth levels that reflect the impact of increasing telecom production for the U.S. market, improving profit margins, a 3% terminal growth rate and a&#xa0;14.4% discount rate. The reporting unit&#x2019;s fair value would approximate its carrying value with a 175&#xa0;basis point increase in the discount rate or a 130&#xa0;basis point reduction in the average earnings margin&#xa0;and 100 basis point reduction in the terminal growth rate.&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">For all reporting units, a considerable amount of management judgment and assumptions are required in performing the goodwill and indefinite-lived intangible asset impairment tests. While we believe our judgments and assumptions are reasonable, different assumptions could change the estimated fair values. A number of factors, many of which we have no ability to control, could cause actual results to differ from the estimates and assumptions we employed. These factors include:</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;">&#x25cf;</td>
     <td style="vertical-align:top;">a rising interest rate environment;</td>
    </tr>

    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;">&#x25cf;</td>
     <td style="vertical-align:top;">a negative impact from the COVID-19 pandemic;</td>
    </tr>

    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">a prolonged global or regional economic downturn;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">a significant decrease in the demand for our products;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">the inability to develop new and enhanced products and services in a timely manner;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">a significant adverse change in legal factors or in the business climate;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">an adverse action or assessment by a regulator;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">successful efforts by our competitors to gain market share in our markets;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">disruptions to the Company&#x2019;s business;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">inability to effectively integrate acquired businesses;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">unexpected or unplanned changes in the use of assets or entity structure; and</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">business divestitures.</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">If management's estimates of future operating results change or if there are changes to other assumptions due to these factors, the estimate of the fair values may change significantly. Such change could result in impairment charges in future periods, which could have a significant impact on our operating results and financial condition.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       30
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Income T</i></b><b><i>axes</i></b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We account for income taxes in accordance with Accounting Standards Codification (ASC) 740, <i>Income Taxes</i>. Our estimate of income taxes payable, deferred income taxes and the effective tax rate is based on an analysis of many factors including interpretations of federal, state and international income tax laws; the difference between tax and financial reporting bases of assets and liabilities; estimates of amounts currently due or owed in various jurisdictions; and current accounting standards. We review and update our estimates on a quarterly basis as facts and circumstances change and actual results are known.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">In assessing the net realizable value of the deferred tax assets on our balance sheet, we consider whether it is more likely than not that some portion or all of the deferred tax assets will not be realized. The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the years in which those temporary differences become deductible. We consider the taxable income in prior carryback years, scheduled reversal of deferred tax liabilities, projected future taxable income and tax planning strategies in making this assessment.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">Refer to Note 15, &#x201c;Income Taxes,&#x201d; to the consolidated financial statements in Item 8 of this Annual Report on Form 10-K for further information on the Company&#x2019;s income taxes and income tax positions.</p>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>New Accounting Standards</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">For information with respect to new accounting pronouncements and the impact of these pronouncements on our consolidated financial statements, refer to Note 2, &#x201c;Summary of&#xa0;Accounting Policies - New Accounting Pronouncements,&#x201d; to the consolidated financial statements in Item 8 of this Annual Report on Form 10-K.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Non-GAAP&#xa0;Measures</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i><b>Adjusted EBITDA</b></i></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">To supplement our&#xa0;consolidated financial statements presented in accordance with U.S. GAAP, we provide the computation of Adjusted EBITDA attributable to the Company, which is defined as net income before noncontrolling interests adjusted for the following items: interest expense, depreciation expense, amortization of intangible assets, income tax expense, certain non-cash gains and losses including&#xa0;certain purchase accounting adjustments and contingent consideration adjustments, share-based compensation expense, losses on extinguishment of debt, certain transaction costs and credit facility fees,&#xa0;business optimization expenses, certain specific provisions, and adjusted EBITDA attributable to noncontrolling interests, as set forth in the reconciliation table below.</p>
  <div style="font-size: 10pt; text-align: justify;">
    &#xa0;
  </div>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We view Adjusted EBITDA as a key measure of our performance. We present Adjusted EBITDA not only due to its importance for purposes of our credit agreements, but also because it assists us in comparing our performance across reporting periods on a consistent basis as it excludes items that we do not believe are indicative of our core operating performance. Our management uses Adjusted EBITDA:</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 20pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">for planning purposes, including the preparation of our annual operating budget and developing and refining our internal projections for future periods;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 20pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">to allocate resources to enhance the financial performance of our business;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 20pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">as a benchmark for the determination of the bonus component of compensation for our senior executives under our management incentive plan, as described further in our Proxy Statement;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 20pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">to evaluate the effectiveness of our business strategies and as a supplemental tool in evaluating our performance against our budget for each period; and</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 20pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">in communications with our Board of Directors and investors concerning our financial performance.</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       31
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We believe Adjusted EBITDA is used by securities analysts, investors and other interested parties in the evaluation of the Company. Management believes the disclosure of Adjusted EBITDA offers an additional financial metric that, when coupled with results prepared in accordance with U.S. generally accepted accounting principles (U.S. GAAP) and the reconciliation to U.S.&#xa0;GAAP results, provides a more complete understanding of our results of operations and the factors and trends affecting our business. We believe Adjusted EBITDA is useful to investors for the following reasons:</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>&#xa0;</i></p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">Adjusted EBITDA and similar non-GAAP measures are widely used by investors to measure a company's operating performance without regard to items that can vary substantially from company to company depending upon financing and accounting methods, book values of assets, tax jurisdictions, capital structures and the methods by which assets were acquired;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">investors can use Adjusted EBITDA as a supplemental measure to evaluate the overall operating performance of our Company, including our ability to service our debt and other cash needs; and</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">by comparing our Adjusted EBITDA in different historical periods, our investors can evaluate our operating performance excluding the impact of items described below.</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The adjustments included in the reconciliation table listed below are presented to illustrate the operating performance of our business in a manner consistent with the presentation used by our management and Board of Directors. These adjustments eliminate the impact of a number of items that:</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">we do not consider indicative of our ongoing operating performance, such as non-cash write-downs and other charges, non-cash gains, write-offs relating to the retirement of debt, severance costs and other restructuring-related business optimization expenses;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">we believe to be akin to, or associated with, interest expense, such as administrative agent fees, revolving credit facility commitment fees and letter of credit fees; or</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">are non-cash in nature, such as share-based compensation expense.</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 36pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We explain in more detail in footnotes (a)&#xa0;through (f) below why we believe these adjustments are useful in calculating Adjusted EBITDA as a measure of our operating performance.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Adjusted EBITDA does not represent, and should not be a substitute for, net income or cash flows from operations as determined in accordance with U.S.&#xa0;GAAP. Adjusted EBITDA has limitations as an analytical tool, and you should not consider it in isolation, or as a substitute for analysis of our results as reported under U.S.&#xa0;GAAP. Some of the limitations are:</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">Adjusted EBITDA does not reflect our cash expenditures, or future requirements for capital expenditures or contractual commitments;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">Adjusted EBITDA does not reflect changes in, or cash requirements for, our working capital needs;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">Adjusted EBITDA does not reflect the significant interest expense, or the cash requirements necessary to service interest or principal payments on our debt;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">although depreciation and amortization are non-cash charges, the assets being depreciated and amortized will often have to be replaced in the future, and Adjusted EBITDA does not reflect any cash requirements for such replacements;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">several of the adjustments that we use in calculating Adjusted EBITDA, such as non-cash write-downs and other charges, while not involving cash expense, do have a negative impact on the value of our assets as reflected in our consolidated balance sheet prepared in accordance with U.S.&#xa0;GAAP; and</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">other companies may calculate Adjusted EBITDA differently than we do, limiting its usefulness as a comparative measure.</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     32
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Furthermore, as noted above, one of our uses of Adjusted EBITDA is as a benchmark for determining elements of compensation for our senior executives. At the same time, some or all of these senior executives have responsibility for monitoring our financial results, generally including the adjustments in calculating Adjusted EBITDA (subject ultimately to review by our Board of Directors in the context of the Board's review of our financial statements). While many of the adjustments (for example, transaction costs and credit facility fees), involve mathematical application of items reflected in our financial statements, others involve a degree of judgment and discretion. While we believe all of these adjustments are appropriate, and while the calculations are subject to review by our Board of Directors in the context of the Board's review of our financial statements, and certification by our Chief Financial Officer in a compliance certificate provided to the lenders under our Term Loan and Revolving&#xa0;Facility, this discretion may be viewed as an additional limitation on the use of Adjusted EBITDA as an analytical tool.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Because of these limitations, Adjusted EBITDA should not be considered as a measure of discretionary cash available to us to invest in the growth of our business. We compensate for these limitations by relying primarily on our U.S.&#xa0;GAAP results and using Adjusted EBITDA only supplementally.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The following table presents a reconciliation of net income to Adjusted EBITDA attributable to Generac Holdings Inc.:</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">
   <tbody>
    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>Year Ended December 31,</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 55%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>(U.S. Dollars in thousands)</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>2022</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>2021</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>2020</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Net income attributable to Generac Holdings Inc.</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">399,502</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">550,494</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">350,576</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Net income attributable to noncontrolling interests</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">9,368</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,075</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(3,358</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Net income</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">408,870</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">556,569</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">347,218</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Interest expense</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">54,826</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">32,953</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">32,991</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Depreciation and amortization</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">156,141</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">92,041</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">68,773</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Provision for income taxes</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">99,596</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">134,957</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">98,973</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Non-cash write-down and other adjustments (a)</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">(2,091</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">(3,070</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">(327</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Non-cash share-based compensation expense (b)</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">29,481</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">23,954</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">20,882</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Loss on extinguishment of debt (c)</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">3,743</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">831</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">-</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Transaction costs and credit facility fees (d)</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">5,026</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">22,357</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">2,151</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Business optimization and other charges (e)</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">4,371</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">33</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">12,158</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Provision for regulatory and clean energy product charges (f)</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">65,265</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">-</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">-</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px; border-bottom: 1px solid rgb(0, 0, 0);">139</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px; border-bottom: 1px solid rgb(0, 0, 0);">800</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px; border-bottom: 1px solid rgb(0, 0, 0);">954</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Adjusted EBITDA</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">825,367</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">861,425</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">583,773</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Adjusted EBITDA attributable to noncontrolling interests</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px; border-bottom: 1px solid rgb(0, 0, 0);">15,087</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px; border-bottom: 1px solid rgb(0, 0, 0);">9,351</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px; border-bottom: 1px solid rgb(0, 0, 0);">2,358</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Adjusted EBITDA attributable to Generac Holdings Inc.</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">810,280</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">852,074</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">581,415</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">(a)&#xa0;Represents the following non-cash charges, gains, and other adjustments: gains/losses on disposals of assets and sales&#xa0;of&#xa0;certain investments, unrealized mark-to-market adjustments on commodity contracts, certain&#xa0;foreign currency related adjustments, and certain purchase accounting and contingent consideration related adjustments. We believe that adjusting net income for these&#xa0;items&#xa0;is useful for the following reasons:</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">The gains/losses on disposals of assets and sales of certain investments resulting from the sale of assets that are no longer useful in our business and therefore represent gains or losses that are not from our core operations;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">The adjustments for unrealized mark-to-market gains and losses on commodity contracts represent non-cash items to reflect changes in the fair value of forward contracts that have not been settled or terminated. We believe it is useful to adjust net income for these items because the charges do not represent a cash outlay in the period in which the charge is incurred, although Adjusted EBITDA must always be used together with our U.S.&#xa0;GAAP statements of comprehensive income and cash flows to capture the full effect of these contracts on our operating performance;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">The purchase accounting adjustments represent non-cash items to reflect fair value at the date of acquisition, and therefore do not reflect our ongoing operations. Fair value&#xa0;adjustments to contingent consideration&#xa0;obligations related to business acquisitions are added back as they are akin to purchase price.&#xa0;</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">(b)&#xa0;Represents share-based compensation expense to account for stock options, restricted stock and other stock awards over their respective vesting period.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">(c)&#xa0;Represents the non-cash write-off of original issue discount and deferred financing costs due to voluntary prepayments of debt. Refer to Note 12, &#x201c;Credit Agreements,&#x201d; to the consolidated financial statements in Item 8 of this Annual Report on Form 10-K for further information on the losses on extinguishment of debt.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">(d)&#xa0;Represents transaction costs incurred directly in connection with any investment, as defined in our credit agreement, equity issuance or debt issuance or refinancing, together with certain fees relating to our senior secured credit facilities, such as administrative agent fees and credit facility commitment fees under our Amended Credit Agreement, which we believe to be akin to, or associated with, interest expense and whose inclusion in Adjusted EBITDA is therefore similar to the inclusion of interest expense in that calculation.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">(e) For the year ended December 31, 2022, predominantly represents severance charges related to certain headcount reductions, as well as other restructuring charges related to the suspension of operations at certain of our facilities. For the year ended December 31, 2020, represents severance, non-cash asset write-downs and other charges to address the impact of the COVID-19 pandemic and decline in oil prices on demand for C&amp;I products.&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">(f) For the year ended December 31, 2022, represents a specific credit loss provision of $17.9 million&#xa0;for a clean energy product customer that filed for bankruptcy, as well as a warranty provision of $37.3 million&#xa0;to address certain clean energy product warranty-related matters. The amount also includes&#xa0;a provision of $10.0 million&#xa0;for a pending and unresolved matter with the CPSC concerning the imposition of potential penalty fines for allegedly failing to timely submit a report under the CPSA in relation to certain portable generators that were subject to a voluntary recall previously announced on July 29, 2021.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       33
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><i><b>Adjusted Net Income</b></i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">To further supplement our consolidated financial statements in accordance with U.S. GAAP, we provide the computation of Adjusted Net Income attributable to the Company, which is defined as net income before noncontrolling interest&#xa0;adjusted for the following items:&#xa0;amortization of intangible assets, amortization of deferred financing costs and original issue discount related to our debt, intangible impairment charges (if any), certain transaction costs and other purchase accounting adjustments, losses on extinguishment of debt, business optimization expenses, certain specific provisions,&#xa0;other non-cash gains and losses or charges, and adjusted net income attributable to noncontrolling interests, as set forth in the reconciliation table below. In addition, for periods prior to 2022, adjusted net income reflects cash income tax expense due to the existence of the tax shield from the amortization of tax-deductible goodwill and intangible assets from our&#xa0;acquisition&#xa0;by CCMP Capital Advisors, LLC in 2006. Due to the expiration of this tax shield in the fourth quarter of 2021, there is no similar reconciling item starting in 2022.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">We believe Adjusted Net Income is used by securities analysts, investors and other interested parties in the evaluation of our company&#x2019;s operations. Management believes the disclosure of Adjusted Net Income offers an additional financial metric that, when used in conjunction with U.S. GAAP results and the reconciliation to U.S. GAAP results, provides a more complete understanding of our ongoing results of operations, and the factors and trends affecting our business.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The adjustments included in the reconciliation table listed below are presented to illustrate the operating performance of our business in a manner consistent with the presentation used by investors and securities analysts. Similar to the Adjusted EBITDA reconciliation, these adjustments eliminate the impact of a number of items we do not consider indicative of our ongoing operating performance or cash flows, such as amortization costs, transaction costs and write-offs relating to the retirement of debt. Prior to the expiration of our tax shield in the fourth quarter of 2021, we also made&#xa0;adjustments to present cash taxes paid as a result of our favorable tax attributes.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Similar to Adjusted EBITDA, Adjusted Net Income does not represent, and should not be a substitute for, net income or cash flows from operations as determined in accordance with U.S. GAAP. Adjusted Net Income has limitations as an analytical tool, and you should not consider it in isolation, or as a substitute for analysis of our results as reported under U.S. GAAP. Some of the limitations are:</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Adjusted Net Income does not reflect changes in, or cash requirements for, our working capital needs;</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">although amortization is a non-cash charge, the assets being amortized may have to be replaced in the future, and Adjusted Net Income does not reflect any cash requirements for such replacements; and</p> </td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width:18pt;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">&#x25cf;</p> </td>
     <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">other companies may calculate Adjusted Net Income differently than we do, limiting its usefulness as a comparative measure.</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following table presents a reconciliation of net income to Adjusted Net Income attributable to Generac Holdings Inc.:</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">
   <tbody>
    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>Year Ended December 31,</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom;">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 55%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>(U.S. Dollars in thousands)</b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>2022</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>2021</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>2020</b></b></p> </td>
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Net income attributable to Generac Holdings Inc.</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">399,502</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">550,494</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">350,576</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Net income attributable to noncontrolling interests</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">9,368</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,075</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(3,358</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Net income</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">408,870</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">556,569</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">347,218</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Provision for income taxes (a)</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">134,957</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">98,973</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Amortization of intangible assets</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">103,320</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">49,886</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">32,280</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Amortization of deferred finance costs and original issue discount</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,234</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,589</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,598</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Loss on extinguishment of debt</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">3,743</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">831</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">-</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Transaction costs and other purchase accounting adjustments (b)</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">3,588</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">19,655</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">(1,328</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">(Gain)/loss attributable to business or asset dispositions (c)</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">(229</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">(4,383</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">-</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Business optimization and other charges (see above)</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,371</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">33</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,158</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Provision for regulatory and clean energy product charges (see above)</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">65,265</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">-</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">-</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Tax effect of add backs</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">(43,638</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">-</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px;">-</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Cash income tax expense (a)</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(136,231</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(79,723</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Adjusted net income</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">548,524</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">623,906</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">412,176</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Adjusted net income attributable to noncontrolling interests</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px; border-bottom: 1px solid rgb(0, 0, 0);">9,675</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px; border-bottom: 1px solid rgb(0, 0, 0);">4,971</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
     <td style="width: 12%; text-align: right; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(32</td>
     <td style="width: 1%; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
    </tr>

    <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
     <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Adjusted net income attributable to Generac Holdings Inc.</p> </td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">538,849</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">618,935</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
     <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">412,208</td>
     <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">(a) For the&#xa0;years ended December 31, 2021 and 2020, the amount is&#xa0;based on a cash income tax rate of 19.7% and&#xa0;17.9%, respectively,&#xa0;due to the existence of&#xa0;the tax shield from the amortization of tax-deductible goodwill and intangible assets from our acquisition by CCMP Capital Advisors, LLC in 2006. Due to the expiration of this tax shield in the fourth quarter of 2021, there is no similar reconciling item for the 2022 period. For comparative purposes to the current year,&#xa0;using the GAAP income tax expense for the years ended December 31, 2021 and 2020, would result in an adjusted net income per diluted share of $9.36&#xa0;and $<span style="color:#000000;">5.97, re</span>spectively, on a pro forma basis.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">(b) Represents transaction costs incurred directly in connection with any investment, as defined in our credit agreement, equity issuance or debt issuance or refinancing, and certain purchase accounting and contingent consideration adjustments.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">(c) Represents gains and losses attributable to the disposition of a business or assets occurring in other than ordinary course, as defined in our credit agreement.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGFTR" style="text-align: center; width: 100%">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       34
     </div>
    </div>
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <div class="hf-row">
     <div class="hf-cell TOCLink">
      <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
     </div>
    </div>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><a id="item7a" title="item7a" href="#"></a>Item&#xa0;7A. Quantitative and Qualitative Disclosures About Market Risk</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">We are exposed to market risk from changes in foreign currency exchange rates, commodity prices and interest rates. To reduce the risk from these changes, we use financial instruments from time to time. We do not hold or issue financial instruments for trading purposes.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Foreign C</b><b>urrency</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We are exposed to foreign currency exchange risk as a result of transactions denominated in currencies other than the U.S. Dollar, as well as operating businesses and supply chains&#xa0;in foreign countries. Periodically, we utilize foreign currency forward purchase and sales contracts to manage the volatility associated with certain foreign currency purchases and sales in the normal course of business. Contracts typically have maturities of twelve months or less. Realized gains and losses on transactions denominated in foreign currency are recorded as a component of cost of goods sold in the statements of comprehensive income.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following is a summary of the thirty-four&#xa0;foreign currency contracts outstanding as of&#xa0;December 31, 2022 (notional amount in thousands):</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <table cellpadding="0" cellspacing="0" style="width: 90%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; margin-right: auto;">
   <tbody>
    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td style="vertical-align: bottom; border-bottom: 1px solid rgb(0, 0, 0); width: 15.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Currency </b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Denomination</b></p> </td>
     <td style="vertical-align: bottom; width: 3.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: bottom; border-bottom: 1px solid rgb(0, 0, 0); width: 21.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Trade Dates</b></p> </td>
     <td style="vertical-align: bottom; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: bottom; border-bottom: 1px solid rgb(0, 0, 0); width: 20.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Effective Dates</b></p> </td>
     <td style="vertical-align: bottom; width: 3.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: bottom; border-bottom: 1px solid rgb(0, 0, 0); width: 15.6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Notional Amount</b></p> </td>
     <td style="vertical-align: bottom; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: bottom; border-bottom: 1px solid rgb(0, 0, 0); width: 15%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Expiration Date</b></p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
     <td style="vertical-align: middle; width: 15.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">GBP</p> </td>
     <td style="vertical-align: middle; width: 3.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: middle; width: 21.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">11/21/22 - 12/20/22</p> </td>
     <td style="vertical-align: middle; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: middle; width: 20.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">11/21/22 - 12/20/22</p> </td>
     <td style="vertical-align: middle; width: 3.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: middle; width: 15.6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;$&#xa0; &#xa0; &#xa0; &#xa0; &#xa0; &#xa0; &#xa0; &#xa0; &#xa0; &#xa0; &#xa0;1,625</p> </td>
     <td style="vertical-align: middle; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: middle; width: 15%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">1/18/23 - 2/22/23</p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
     <td style="vertical-align: middle; width: 15.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">AUD</p> </td>
     <td style="vertical-align: middle; width: 3.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: middle; width: 21.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">11/15/22 - 12/20/22</p> </td>
     <td style="vertical-align: middle; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: middle; width: 20.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">11/15/22 - 12/20/22</p> </td>
     <td style="vertical-align: middle; width: 3.2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: middle; width: 15.6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;$&#xa0; &#xa0; &#xa0; &#xa0; &#xa0; &#xa0; &#xa0; &#xa0; &#xa0; &#xa0; 11,975</p> </td>
     <td style="vertical-align: middle; width: 3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: middle; width: 15%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">1/18/23 - 2/22/23</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Commodity P</b><b>rices</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We are a purchaser of commodities and components manufactured from commodities including steel, aluminum, copper and others. As a result, we are exposed to fluctuating market prices for those commodities. While such materials are typically available from numerous suppliers, commodity raw materials are subject to price fluctuations. We generally buy these commodities and components based on market prices that are established with the supplier as part of the purchase process. Depending on the supplier, these market prices may reset on a periodic basis based on negotiated lags and calculations. To the extent that commodity prices increase and we do not have firm pricing from our suppliers, or our suppliers are not able to honor such prices, we may experience a decline in our gross margins to the extent we are not able to increase selling prices of our products or obtain manufacturing efficiencies or supply chain savings to offset increases in commodity costs.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">In 2021 and 2022, we experienced&#xa0;an&#xa0;increase in commodity and component costs resulting from supply chain challenges and the overall inflationary environment. We implemented multiple price increases to help mitigate the impact of these rising commodity costs,&#xa0;and the realization of these price increases in 2022 helped to partially offset the higher commodity&#xa0;costs.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Periodically, we engage in certain commodity risk management activities to mitigate the impact of potential price fluctuations on our financial results. These derivatives typically have maturities of less than eighteen months. As of December 31, 2022, we had no commodity contracts outstanding.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Interest R</b><b>ates</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">As of December 31, 2022, all of the outstanding debt under our Term Loans and Revolving&#xa0;Facility was subject to floating interest rate risk. As of December 31, 2022, we had the following interest rate swap contracts outstanding (notional amount in thousands of US dollars):</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="vertical-align:middle;border-bottom:solid 1px #000000;;width:14.6%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Hedged Item</b></p> </td>
     <td style="vertical-align:middle;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;border-bottom:solid 1px #000000;;width:13.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Contract Date</b></p> </td>
     <td style="vertical-align:middle;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;border-bottom:solid 1px #000000;;width:13.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Effective Date</b></p> </td>
     <td style="vertical-align:middle;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;border-bottom:solid 1px #000000;;width:14.8%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Notional Amount</b></p> </td>
     <td style="vertical-align:middle;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;border-bottom:solid 1px #000000;;width:14.6%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Fixed SOFR&#xa0;Rate</b></p> </td>
     <td style="vertical-align:middle;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;border-bottom:solid 1px #000000;;width:13.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Expiration Date</b></p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align:middle;width:14.6%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Interest Rate</p> </td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;width:13.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">June 19, 2017</p> </td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;width:13.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">July 1, 2022</p> </td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;width:14.8%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;">125,000</p> </td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:bottom;width:14.6%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">2.4120%</p> </td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;width:13.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">May 31, 2023</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align:middle;width:14.6%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Interest Rate</p> </td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;width:13.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">June 30, 2017</p> </td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;width:13.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">July 1, 2022</p> </td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;width:14.8%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;">125,000</p> </td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:bottom;width:14.6%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">2.4790%</p> </td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;width:13.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">May 31, 2023</p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align:middle;width:14.6%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Interest Rate</p> </td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;width:13.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">August 9, 2017</p> </td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;width:13.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">July 1, 2022</p> </td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;width:14.8%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;">125,000</p> </td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:bottom;width:14.6%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">2.2948%</p> </td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;width:13.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">May 31, 2023</p> </td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align:middle;width:14.6%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Interest Rate</p> </td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;width:13.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">August 30, 2017</p> </td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;width:13.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">July 1, 2022</p> </td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;width:14.8%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;">125,000</p> </td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:bottom;width:14.6%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">2.23440%</p> </td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align:middle;width:13.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">May 31, 2023</p> </td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: middle; width: 14.6%; text-align: center;">Interest Rate</td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align: middle; width: 13.5%; text-align: center;">March 4, 2020</td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align: middle; width: 13.5%; text-align: center;">May 31, 2023</td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align: middle; width: 14.8%; text-align: center;">200,000</td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 14.6%; text-align: center;">1.1360%</td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align: middle; width: 13.7%; text-align: center;">December 14, 2026</td>
    </tr>

    <tr style="background-color: rgb(255, 255, 255);">
     <td style="vertical-align: middle; width: 14.6%; text-align: center;">Interest Rate</td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align: middle; width: 13.5%; text-align: center;">March 5, 2020</td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align: middle; width: 13.5%; text-align: center;">May 31, 2023</td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align: middle; width: 14.8%; text-align: center;">100,000</td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 14.6%; text-align: center;">1.0700%</td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align: middle; width: 13.7%; text-align: center;">December 14, 2026</td>
    </tr>

    <tr style="background-color: rgb(204, 238, 255);">
     <td style="vertical-align: middle; width: 14.6%; text-align: center;">Interest Rate</td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align: middle; width: 13.5%; text-align: center;">March 6, 2020</td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align: middle; width: 13.5%; text-align: center;">May 31, 2023</td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align: middle; width: 14.8%; text-align: center;">200,000</td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 14.6%; text-align: center;">0.9560%</td>
     <td style="vertical-align:bottom;width:3.1%;">&#xa0;</td>
     <td style="vertical-align: middle; width: 13.7%; text-align: center;">December 14, 2026</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">In June 2022, in conjunction with the amendments to the Company's credit agreements discussed further in Note 12, &#x201c;Credit Agreements,&#x201d; to our&#xa0;consolidated financial statements in Item 8 of this Annual Report on Form 10-K, the Company amended its interest rate swaps&#xa0;to match that of the underlying debt and reconfirmed hedge effectiveness. The Company formally documented all relationships between interest rate hedging instruments and the related hedged items, as well as its risk-management objectives and strategies for undertaking various hedge transactions. These interest rate swap agreements qualify as cash flow hedges and therefore, the effective portions of their gains or losses are reported as a component of accumulated other comprehensive loss (AOCL) in the consolidated balance sheets. At December 31, 2022, the fair value of these interest rate swaps was an asset&#xa0;of $49.3&#xa0;million. Even after giving effect to these swaps, we are exposed to risks due to changes in interest rates with respect to the portion of our Term Loans and Revolving&#xa0;Facility that is not covered by the swaps. A hypothetical change in the SOFR interest rate of 100 basis points would have changed annual cash interest expense by approximately $5.4&#xa0;million (or, without the swaps in place, $10.4&#xa0;million) in 2022.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">For additional information on the Company&#x2019;s foreign currency and commodity forward contracts&#xa0;and interest rate swaps, including amounts charged to the statements of comprehensive income during 2022, 2021, and 2020, refer to Note&#xa0;5, &#x201c;Derivative Instruments and Hedging Activities,&#x201d; and Note 6, &#x201c;Accumulated Other Comprehensive Loss,&#x201d; to our consolidated financial statements in Item 8 of this Annual Report on Form 10-K.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     35
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><a id="item8" title="item8" href="#"></a>Item&#xa0;8. Financial Statements and Supplementary Data</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><a id="report" title="report" href="#"></a>Report of Independent Registered Public Accounting Firm</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">To the stockholders and the Board of Directors of Generac Holdings Inc.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Waukesha, WI</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Opinion on the Financial Statements</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">We have audited the accompanying consolidated balance sheets of Generac Holdings Inc. and subsidiaries (the "Company") as of December 31, 2022 and 2021, the related consolidated statements of comprehensive income, stockholders' equity, and cash flows, for each of the three years in the period ended December 31, 2022, and the related notes (collectively referred to as the "financial statements"). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2022 and 2021, and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2022, in conformity with accounting principles generally accepted in the United States of America.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">We have also audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the Company's internal control over financial reporting as of December 31, 2022, based on criteria established in <i>Internal Control </i>&#x2014;<i> Integrated Framework (2013)</i> issued by the Committee of Sponsoring Organizations of the Treadway Commission and our report dated February 22, 2023, expressed an unqualified opinion on the Company's internal control over financial reporting.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Basis for Opinion</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">These financial statements are the responsibility of the Company's management. Our responsibility is to express an opinion on the Company's financial statements based on our audits. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Critical Audit Matter</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The critical audit matter communicated below is a matter arising from the current-period audit of the financial statements that was communicated or required to be communicated to the audit committee and that (1) relates to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing a separate opinion on the critical audit matter or on the accounts or disclosures to which it relates.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>Goodwill - Refer to Notes 2 and 9</i></b>&#xa0;<b><i>to the consolidated financial statements.</i></b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>Critical Audit Matter Description</i></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company&#x2019;s evaluation of goodwill for impairment involves the comparison of the fair value of each reporting unit to its carrying value. The Company&#x2019;s estimate for each reporting unit is based on the present value of estimated future cash flows attributable to the respective reporting unit. This requires management to make significant estimates and assumptions including estimates of future revenue growth rates, earnings margins, and discount rates. Changes in the assumptions could have a significant impact on the fair value, which could result in an impairment charge. The Company performed their annual impairment assessment of its reporting units as of October 31, 2022.&#xa0;In the October 31, 2022 impairment test calculation, the Latin America reporting unit had an estimated fair value that exceeded the carrying value by approximately 18%. Because the estimated fair value exceeded the carrying value, no impairment was recorded.&#xa0;The carrying value of goodwill for the Company&#x2019;s Latin America reporting unit as of the October 31, 2022 impairment assessment was $46.5 million.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Key financial assumptions utilized to determine the fair value of the Latin America reporting unit include revenue growth rates, earnings margins, and the discount rate.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The principal consideration for our determination that the evaluation of goodwill is a critical audit matter is that there is a high degree of auditor effort, judgment and subjectivity involved in designing and performing procedures to evaluate the reasonableness of management&#x2019;s key&#xa0;assumptions utilized to determine the fair value of the Latin America reporting unit.</p>
  <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     36
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i>How the Critical Audit Matter Was Addressed in the Audit</i></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Our audit procedures related to the forecasts of future revenue growth rates,&#xa0;profit margins, the terminal growth rate and the selection of the discount rate for the Latin America reporting unit included the following, among others:</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align: top; text-align: justify;">Evaluated the design and effectiveness of the controls over management&#x2019;s goodwill impairment evaluation, including those over the determination of the fair value of the reporting unit, such as controls related to management&#x2019;s forecast and the selection of the discount rate.</td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align: top; text-align: justify;">Obtained the Company&#x2019;s discounted cash flow model and evaluated the valuation analysis for mathematical accuracy.</td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align: top; text-align: justify;">Utilized fair value specialists to evaluate whether the valuation techniques applied by management were appropriate.</td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="font-size: 10pt; width: 100%;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align: top; text-align: justify;">Assessed management&#x2019;s historical ability to accurately forecast the reporting unit results of operations.</td>
    </tr>

   </tbody>
  </table>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td>
     <td style="vertical-align: top; text-align: justify;">Assessed management&#x2019;s intent and/or ability to take specific actions included in the discounted cash flow model.</td>
    </tr>

    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width: 18pt; vertical-align: top; text-align: justify;">&#x25cf;</td>
     <td style="vertical-align: top; text-align: justify;">Evaluated the reasonableness of management&#x2019;s forecasts by comparing the forecasts to (1) historical results, (2) internal communications to the Board of Directors, and (3) forecasted information included in industry reports.</td>
    </tr>

    <tr>
     <td style="width: 18pt; text-align: justify;">&#xa0;</td>
     <td style="width: 18pt; vertical-align: top; text-align: justify;">&#x25cf;</td>
     <td style="vertical-align: top; text-align: justify;">Utilized fair value specialists to evaluate the reasonableness of the discount rate selected, including developing a range of independent estimates and comparing it to the discount rate utilized by the Company.</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">/s/ <ix:nonNumeric name="dei:AuditorName" contextRef="d_2022-01-01_2022-12-31">Deloitte &amp; Touche LLP</ix:nonNumeric></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><ix:nonNumeric name="dei:AuditorLocation" contextRef="d_2022-01-01_2022-12-31">Milwaukee, Wisconsin</ix:nonNumeric></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">February 22, 2023</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">We have served as the Company&#x2019;s auditor since 2016.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     37
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"><b>&#xa0;&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Report of Independent Registered Public Accounting Firm</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">To the stockholders and the Board of Directors of Generac Holdings Inc.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Waukesha, Wisconsin</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Opinion on Internal Control over Financial Reporting</b></p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">We have audited the internal control over financial reporting of Generac Holdings Inc. and subsidiaries (the &#x201c;Company&#x201d;) as of December 31, 2022, based on criteria established in <i>Internal Control </i>&#x2014;<i> Integrated Framework (2013)</i> issued by the Committee of Sponsoring Organizations of the Treadway Commission (COSO). In our opinion, the Company maintained, in all material respects, effective internal control over financial reporting as of December 31, 2022, based on criteria established in <i>Internal Control </i>&#x2014;<i> Integrated Framework (2013)</i> issued by COSO.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">We have also audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the consolidated financial statements as of and for the year ended December 31, 2022, of the Company and our report dated February 22, 2023, expressed an unqualified opinion on those financial statements.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><b>Basis for Opinion </b></p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The Company&#x2019;s management is responsible for maintaining effective internal control over financial reporting and for its assessment of the effectiveness of internal control over financial reporting, included in the accompanying Management&#x2019;s Report on Internal Control over Financial Reporting. Our responsibility is to express an opinion on the Company&#x2019;s internal control over financial reporting based on our audit. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">We conducted our audit in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control over financial reporting was maintained in all material respects. Our audit included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, testing and evaluating the design and operating effectiveness of internal control based on the assessed risk, and performing such other procedures as we considered necessary in the circumstances. We believe that our audit provides a reasonable basis for our opinion.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><b>Definition and Limitations of Internal Control over Financial Reporting</b></p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">A company&#x2019;s internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles. A company&#x2019;s internal control over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company&#x2019;s assets that could have a material effect on the financial statements.</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">/s/ <ix:nonNumeric name="dei:AuditorName" contextRef="d_2022-01-01_2022-12-31">Deloitte &amp; Touche LLP</ix:nonNumeric></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><ix:nonNumeric name="dei:AuditorLocation" contextRef="d_2022-01-01_2022-12-31">Milwaukee, Wisconsin</ix:nonNumeric></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">February 22, 2023</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     38
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
   <tbody>
    <tr>
     <td colspan="1" style="vertical-align:middle;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:12pt;margin:0pt;text-align:center;"><a id="bs" title="bs" href="#"></a>Generac Holdings Inc.</p> </td>
    </tr>

    <tr>
     <td colspan="1" style="vertical-align:middle;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:12pt;margin:0pt;text-align:center;">Consolidated Balance Sheets</p> </td>
    </tr>

    <tr>
     <td colspan="1" style="vertical-align:middle;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><i>(U.S. Dollars in Thousands, Except Share and Per Share Data)</i></p> </td>
    </tr>

   </tbody>
  </table>
  <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
  <div>
   <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 70%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;"><b>Assets</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Current assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Cash and cash equivalents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262640" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" format="ixt:numdotdecimal" decimals="-3">132,723</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262641" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" format="ixt:numdotdecimal" decimals="-3">147,339</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Accounts receivable, less allowance for credit losses of $<span style="-sec-ix-hidden:c93262644">27,664</span> and $<span style="-sec-ix-hidden:c93262645">12,025</span> at December 31, 2022 and 2021, respectively</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262642" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AccountsReceivableNetCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">522,458</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262643" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:AccountsReceivableNetCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">546,466</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262646" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:InventoryNet" scale="3" format="ixt:numdotdecimal" decimals="-3">1,405,384</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262647" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:InventoryNet" scale="3" format="ixt:numdotdecimal" decimals="-3">1,089,705</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Prepaid expenses and other assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262648" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">121,783</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262649" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">64,954</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total current assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262650" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AssetsCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">2,182,348</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262651" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:AssetsCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">1,848,464</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Property and equipment, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262652" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" format="ixt:numdotdecimal" decimals="-3">467,604</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262653" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" format="ixt:numdotdecimal" decimals="-3">440,852</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Customer lists, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262654" contextRef="i_2022-12-31" unitRef="USD" name="gnrc:FiniteLivedCustomerListsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">206,987</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262655" contextRef="i_2021-12-31" unitRef="USD" name="gnrc:FiniteLivedCustomerListsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">238,722</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Patents and technology, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262656" contextRef="i_2022-12-31" unitRef="USD" name="gnrc:FiniteLivedPatentsAndTechnologyNet" scale="3" format="ixt:numdotdecimal" decimals="-3">454,757</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262657" contextRef="i_2021-12-31" unitRef="USD" name="gnrc:FiniteLivedPatentsAndTechnologyNet" scale="3" format="ixt:numdotdecimal" decimals="-3">492,473</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other intangible assets, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262658" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:OtherIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">41,719</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262659" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:OtherIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">66,436</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Tradenames, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262660" contextRef="i_2022-12-31" unitRef="USD" name="gnrc:TradeNamesNet" scale="3" format="ixt:numdotdecimal" decimals="-3">227,251</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262661" contextRef="i_2021-12-31" unitRef="USD" name="gnrc:TradeNamesNet" scale="3" format="ixt:numdotdecimal" decimals="-3">243,531</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Goodwill</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262662" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-4">1,400,880</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262663" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">1,409,674</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Deferred income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262664" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">12,746</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262665" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-4">15,740</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Operating lease and other assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262666" contextRef="i_2022-12-31" unitRef="USD" name="gnrc:OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-4">175,170</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262667" contextRef="i_2021-12-31" unitRef="USD" name="gnrc:OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">121,888</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93262668" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:Assets" scale="3" format="ixt:numdotdecimal" decimals="-3">5,169,462</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93262669" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:Assets" scale="3" format="ixt:numdotdecimal" decimals="-4">4,877,780</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;"><b>Liabilities and stockholders&#x2019; equity</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Current liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Short-term borrowings</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262672" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:ShortTermBorrowings" scale="3" format="ixt:numdotdecimal" decimals="-4">48,990</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262673" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:ShortTermBorrowings" scale="3" format="ixt:numdotdecimal" decimals="-3">72,035</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Accounts payable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262674" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AccountsPayableCurrent" scale="3" format="ixt:numdotdecimal" decimals="-4">446,050</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262675" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:AccountsPayableCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">674,208</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Accrued wages and employee benefits</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262676" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">45,741</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262677" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-4">72,060</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Accrued product warranty</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262678" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:ProductWarrantyAccrualClassifiedCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">89,141</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262679" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:ProductWarrantyAccrualClassifiedCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">59,052</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other accrued liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262680" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:OtherAccruedLiabilitiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">349,389</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262681" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:OtherAccruedLiabilitiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">272,622</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Current portion of long-term borrowings and finance lease obligations</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262682" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">12,733</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262683" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent" scale="3" format="ixt:numdotdecimal" decimals="-4">5,930</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total current liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262684" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LiabilitiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">992,044</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262685" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:LiabilitiesCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">1,155,907</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Long-term borrowings and finance lease obligations</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262686" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LongTermDebtAndCapitalLeaseObligations" scale="3" format="ixt:numdotdecimal" decimals="-3">1,369,085</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262687" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:LongTermDebtAndCapitalLeaseObligations" scale="3" format="ixt:numdotdecimal" decimals="-3">902,091</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Deferred income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262688" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" format="ixt:numdotdecimal" decimals="-3">125,691</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262689" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" format="ixt:numdotdecimal" decimals="-3">205,964</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Operating lease and other long-term liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262690" contextRef="i_2022-12-31" unitRef="USD" name="gnrc:OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">312,916</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262691" contextRef="i_2021-12-31" unitRef="USD" name="gnrc:OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">341,681</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262692" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:Liabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">2,799,736</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262693" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:Liabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">2,605,643</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Redeemable noncontrolling interest</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262694" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">110,471</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262695" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-4">58,050</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Stockholders&#x2019; equity:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Common stock, par value $<span style="-sec-ix-hidden:c93262699"><span style="-sec-ix-hidden:c93262700">0.01</span></span>, <span style="-sec-ix-hidden:c93262701"><span style="-sec-ix-hidden:c93262702">500,000,000</span></span> shares authorized, <span style="-sec-ix-hidden:c93262703">72,701,257</span> and <span style="-sec-ix-hidden:c93262704">72,386,017</span> shares issued at December 31, 2022 and 2021, respectively</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262697" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:CommonStockValue" scale="3" format="ixt:numdotdecimal" decimals="-3">728</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262698" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:CommonStockValue" scale="3" format="ixt:numdotdecimal" decimals="-3">725</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Additional paid-in capital</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262705" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AdditionalPaidInCapital" scale="3" format="ixt:numdotdecimal" decimals="-3">1,016,138</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262706" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:AdditionalPaidInCapital" scale="3" format="ixt:numdotdecimal" decimals="-3">952,939</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Treasury stock, at cost, <span style="-sec-ix-hidden:c93262709">11,284,350</span> and <span style="-sec-ix-hidden:c93262710">8,667,031</span> shares at December 31, 2022 and 2021, respectively</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93262707" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:TreasuryStockValue" scale="3" format="ixt:numdotdecimal" decimals="-3">808,491</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93262708" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:TreasuryStockValue" scale="3" format="ixt:numdotdecimal" decimals="-3">448,976</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Excess purchase price over predecessor basis</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93262711" contextRef="i_2022-12-31" unitRef="USD" name="gnrc:ExcessPurchasePriceOverPredecessorBasis" scale="3" format="ixt:numdotdecimal" decimals="-3">202,116</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93262712" contextRef="i_2021-12-31" unitRef="USD" name="gnrc:ExcessPurchasePriceOverPredecessorBasis" scale="3" format="ixt:numdotdecimal" decimals="-3">202,116</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Retained earnings</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262713" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" format="ixt:numdotdecimal" decimals="-3">2,316,224</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262714" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" format="ixt:numdotdecimal" decimals="-3">1,965,957</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Accumulated other comprehensive loss</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93262715" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">65,102</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93262716" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">54,755</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Stockholders&#x2019; equity attributable to Generac Holdings Inc.</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262717" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">2,257,381</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262718" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">2,213,774</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Noncontrolling interests</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262719" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:MinorityInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">1,874</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262720" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:MinorityInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">313</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total stockholders&#x2019; equity</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262721" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">2,259,255</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262722" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">2,214,087</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total liabilities and stockholders&#x2019; equity</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93262723" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-3">5,169,462</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93262724" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" format="ixt:numdotdecimal" decimals="-4">4,877,780</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td></tr>
</tbody></table>
  </div>
  <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
   <tbody>
    <tr>
     <td style="vertical-align:middle;width:65.5%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>See notes to consolidated financial statements.</i></p> </td>
     <td style="vertical-align:middle;width:15.6%;">&#xa0;</td>
     <td style="vertical-align:middle;width:3.3%;">&#xa0;</td>
     <td style="vertical-align:middle;width:15.6%;">&#xa0;</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     39
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
   <tbody>
    <tr>
     <td colspan="6" style="vertical-align:middle;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:12pt;margin:0pt;text-align:center;"><a id="income" title="income" href="#"></a>Generac Holdings Inc.</p> </td>
    </tr>

    <tr>
     <td colspan="6" style="vertical-align:middle;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:12pt;margin:0pt;text-align:center;">Consolidated Statements of Comprehensive Income</p> </td>
    </tr>

    <tr>
     <td colspan="6" style="vertical-align:middle;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><i>(U.S. Dollars in Thousands, Except Share and Per Share Data)</i></p> </td>
    </tr>

   </tbody>
  </table>
  <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
  <div>
   <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">
    <tbody>
     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Net sales</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262731" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">4,564,737</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262732" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">3,737,184</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262733" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-5">2,485,200</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Costs of goods sold</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262734" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" format="ixt:numdotdecimal" decimals="-3">3,042,733</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262735" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" format="ixt:numdotdecimal" decimals="-3">2,377,102</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262736" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" format="ixt:numdotdecimal" decimals="-3">1,527,546</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Gross profit</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262737" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:GrossProfit" scale="3" format="ixt:numdotdecimal" decimals="-3">1,522,004</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262738" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:GrossProfit" scale="3" format="ixt:numdotdecimal" decimals="-3">1,360,082</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262739" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:GrossProfit" scale="3" format="ixt:numdotdecimal" decimals="-3">957,654</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Operating expenses:</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Selling and service</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262741" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:SellingAndMarketingExpense" scale="3" format="ixt:numdotdecimal" decimals="-4">496,260</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262742" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:SellingAndMarketingExpense" scale="3" format="ixt:numdotdecimal" decimals="-4">319,020</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262743" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:SellingAndMarketingExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">246,373</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Research and development</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262744" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">159,774</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262745" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">104,303</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262746" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">80,251</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">General and administrative</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262747" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">194,861</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262748" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">144,272</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262749" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">118,233</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Acquisition related costs</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"><ix:nonFraction id="c93262750" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">1,459</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"><ix:nonFraction id="c93262751" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">21,465</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px;"><ix:nonFraction id="c93262752" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">1,411</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Amortization of intangibles</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262753" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-4">103,320</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262754" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">49,886</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262755" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-4">32,280</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total operating expenses</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262756" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:OperatingExpenses" scale="3" format="ixt:numdotdecimal" decimals="-3">955,674</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262757" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:OperatingExpenses" scale="3" format="ixt:numdotdecimal" decimals="-3">638,946</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262758" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:OperatingExpenses" scale="3" format="ixt:numdotdecimal" decimals="-3">478,548</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Income from operations</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262759" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-4">566,330</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262760" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">721,136</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262761" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">479,106</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Other (expense) income:</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Interest expense</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93262763" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:InterestExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">54,826</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93262764" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:InterestExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">32,953</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93262765" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:InterestExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">32,991</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Investment income</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262766" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:InvestmentIncomeNonoperating" scale="3" format="ixt:numdotdecimal" decimals="-3">1,129</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262767" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:InvestmentIncomeNonoperating" scale="3" format="ixt:numdotdecimal" decimals="-3">1,415</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262768" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:InvestmentIncomeNonoperating" scale="3" format="ixt:numdotdecimal" decimals="-3">2,182</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Loss on extinguishment of debt</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93262769" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">3,743</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93262770" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">831</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262771" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other, net</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93262772" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">424</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262773" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">2,759</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93262774" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">2,106</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total other expense, net</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);">(<ix:nonFraction id="c93262775" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:NonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">57,864</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);">(<ix:nonFraction id="c93262776" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:NonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">29,610</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: thin solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);">(<ix:nonFraction id="c93262777" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:NonoperatingIncomeExpense" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">32,915</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Income before provision for income taxes</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262778" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">508,466</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262779" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">691,526</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262780" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">446,191</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Provision for income taxes</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262781" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">99,596</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262782" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">134,957</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262783" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">98,973</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262784" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:ProfitLoss" scale="3" format="ixt:numdotdecimal" decimals="-4">408,870</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262785" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:ProfitLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">556,569</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262786" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:ProfitLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">347,218</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Net income attributable to noncontrolling interests</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262787" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">9,368</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262788" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">6,075</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93262789" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">3,358</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to Generac Holdings Inc.</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93262790" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">399,502</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93262791" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">550,494</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93262792" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">350,576</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Other comprehensive income (loss):</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Foreign currency translation adjustment</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93262794" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">48,841</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93262795" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">41,030</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262796" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" format="ixt:numdotdecimal" decimals="-3">4,948</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Net unrealized gain (loss) on derivatives</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262797" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:numdotdecimal" decimals="-3">38,494</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262798" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:numdotdecimal" decimals="-3">20,529</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93262799" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">14,285</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Other comprehensive income (loss)</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93262800" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">10,347</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93262801" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">20,501</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93262802" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">9,337</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total comprehensive income</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262803" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">398,523</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262804" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">536,068</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93262805" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">337,881</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Comprehensive income (loss) attributable to noncontrolling interests</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262806" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">11,179</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93262807" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">5,496</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93262808" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">364</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Comprehensive income attributable to Generac Holdings Inc.</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93262809" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3">387,344</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93262810" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3">530,572</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93262811" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3">338,245</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Net income attributable to Generac Holdings Inc. per common share - basic:</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262812" contextRef="d_2022-01-01_2022-12-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">5.55</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262813" contextRef="d_2021-01-01_2021-12-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">8.51</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262814" contextRef="d_2020-01-01_2020-12-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">5.61</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Weighted average common shares outstanding - basic:</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262815" contextRef="d_2022-01-01_2022-12-31" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">63,117,007</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262816" contextRef="d_2021-01-01_2021-12-31" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">62,686,001</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262817" contextRef="d_2020-01-01_2020-12-31" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">62,280,889</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Net income attributable to Generac Holdings Inc. per common share - diluted:</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262818" contextRef="d_2022-01-01_2022-12-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">5.42</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262819" contextRef="d_2021-01-01_2021-12-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">8.30</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262820" contextRef="d_2020-01-01_2020-12-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">5.48</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Weighted average common shares outstanding - diluted:</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262821" contextRef="d_2022-01-01_2022-12-31" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">64,681,357</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262822" contextRef="d_2021-01-01_2021-12-31" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">64,253,408</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93262823" contextRef="d_2020-01-01_2020-12-31" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">63,737,734</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

    </tbody>
   </table>
  </div>
  <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
   <tbody>
    <tr>
     <td style="vertical-align:middle;width:48.4%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>See notes to consolidated financial statements.</i></p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     40
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td colspan="12" style="vertical-align:bottom;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:12pt;margin:0pt;text-align:center;"><a id="equity" title="equity" href="#"></a>Generac Holdings Inc.</p> </td>
    </tr>

    <tr>
     <td colspan="12" style="vertical-align:bottom;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:12pt;margin:0pt;text-align:center;">Consolidated Statements of Stockholders' Equity</p> </td>
    </tr>

    <tr>
     <td colspan="12" style="vertical-align:bottom;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><i>(U.S. Dollars in Thousands, Except Share Data)</i></p> </td>
    </tr>

   </tbody>
  </table>
  <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
  <div>
   <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td colspan="34" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0); width: 53%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Generac Holdings Inc.</em></em></em></em></em></em></em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 3%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 3%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;"><b>&#xa0;</b></td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 3%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 3%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 3%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 3%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 3%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Excess Purchase Price</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 3%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Accumulated</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 3%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 3%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 3%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;"><b>&#xa0;</b></td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 3%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 3%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Additional</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 3%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 3%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Over</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 3%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Other</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Total</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 3%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 3%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;"><b>&#xa0;</b></td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0); width: 7%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;"><em style="font: inherit;">Common Stock</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Paid-In</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0); width: 7%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;"><em style="font: inherit;">Treasury Stock</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Predecessor</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Retained</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Comprehensive</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Stockholders'</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Noncontrolling</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 3%;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;"><b>&#xa0;</b></td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Shares</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Amount</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Capital</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Shares</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Amount</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Basis</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Earnings</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Income (Loss)</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Equity</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Interest</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt; text-align: center;"><b><em style="font: inherit;">Total</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding-bottom: 1px; width: 1%;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt;"><b>Balance at December 31, 2019</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262890" contextRef="i_2019-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">71,667,726</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262891" contextRef="i_2019-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">717</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262892" contextRef="i_2019-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">498,866</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93262893" contextRef="i_2019-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">9,103,013</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93262894" contextRef="i_2019-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">324,551</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">$</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93262895" contextRef="i_2019-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">202,116</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262896" contextRef="i_2019-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">1,084,383</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">$</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93262897" contextRef="i_2019-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">24,917</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262898" contextRef="i_2019-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">1,032,382</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262899" contextRef="i_2019-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">469</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262900" contextRef="i_2019-12-31" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">1,032,851</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Accounting standard adoption impact</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262902" contextRef="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262903" contextRef="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262905" contextRef="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262906" contextRef="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93262907" contextRef="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">1,147</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262908" contextRef="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93262909" contextRef="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">1,147</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262910" contextRef="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93262911" contextRef="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">1,147</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%; padding-left: 9pt;"> <p style="margin: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Unrealized loss on interest rate swaps, net of tax of ($<span style="-sec-ix-hidden:c93262930">4,826</span>)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><ix:nonFraction id="c93262913" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><ix:nonFraction id="c93262914" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><ix:nonFraction id="c93262916" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><ix:nonFraction id="c93262917" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><ix:nonFraction id="c93262918" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">(<ix:nonFraction id="c93262919" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">14,285</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">(<ix:nonFraction id="c93262920" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">14,285</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><ix:nonFraction id="c93262921" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">(<ix:nonFraction id="c93262922" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">14,285</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%; padding-left: 9pt;"> <p style="margin: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Foreign currency translation adjustment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><ix:nonFraction id="c93262941" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3">4,948</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><ix:nonFraction id="c93262942" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3">4,948</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">(<ix:nonFraction id="c93262943" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">29</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><ix:nonFraction id="c93262944" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3">4,919</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Common stock issued under equity incentive plans, net of shares withheld for employee taxes and strike price</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262945" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares" scale="0" format="ixt:numdotdecimal" decimals="INF">356,603</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262946" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:numdotdecimal" decimals="-3">4</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262947" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:numdotdecimal" decimals="-3">5,793</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262953" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:numdotdecimal" decimals="-3">5,797</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262955" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:numdotdecimal" decimals="-3">5,797</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%; padding-left: 9pt;"> <p style="margin: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Net share settlement of restricted stock awards</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">(<ix:nonFraction id="c93262959" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="Share" name="gnrc:TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards" scale="0" format="ixt:numdotdecimal" decimals="INF">70,718</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">(<ix:nonFraction id="c93262960" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:numdotdecimal" decimals="-3">7,613</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">(<ix:nonFraction id="c93262964" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:numdotdecimal" decimals="-3">7,613</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">(<ix:nonFraction id="c93262966" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:numdotdecimal" decimals="-3">7,613</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Share-based compensation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93262968" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93262969" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">20,882</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93262971" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93262972" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93262973" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93262974" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93262975" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">20,882</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93262976" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93262977" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">20,882</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Redemption value adjustment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262979" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262980" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262982" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262983" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93262984" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">1,247</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262985" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93262986" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">1,247</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93262987" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93262988" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">1,247</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Net income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93262990" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93262991" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93262993" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93262994" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93262995" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">350,576</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93262996" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93262997" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">350,576</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93262998" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:NetIncomeLossAttributableToNonredeemableNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">529</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93262999" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">350,047</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 30%;">&#xa0;</td><td style="padding-bottom: 1px; width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 6%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 4%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="padding-bottom: 1px; width: 1%;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt;"><b>Balance at December 31, 2020</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263000" contextRef="i_2020-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">72,024,329</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263001" contextRef="i_2020-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">721</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263002" contextRef="i_2020-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">525,541</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93263003" contextRef="i_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">9,173,731</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93263004" contextRef="i_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">332,164</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">$</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93263005" contextRef="i_2020-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">202,116</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263006" contextRef="i_2020-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">1,432,565</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">$</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93263007" contextRef="i_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">34,254</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263008" contextRef="i_2020-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">1,390,293</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93263009" contextRef="i_2020-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">89</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263010" contextRef="i_2020-12-31" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">1,390,204</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Change in noncontrolling interest share</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263012" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263013" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263015" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263016" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263017" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263018" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263019" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93263020" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation" scale="3" format="ixt:numdotdecimal" decimals="-3">96</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93263021" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation" scale="3" format="ixt:numdotdecimal" decimals="-3">96</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Unrealized gain on interest rate swaps, net of tax of $<span style="-sec-ix-hidden:c93263040">6,933</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263029" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:numdotdecimal" decimals="-3">20,529</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263030" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:numdotdecimal" decimals="-3">20,529</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263032" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:numdotdecimal" decimals="-3">20,529</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt 0pt 0pt 9pt;">Foreign currency translation adjustment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263045" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263046" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263048" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263049" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263050" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93263051" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">41,030</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93263052" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">41,030</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93263053" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">3</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93263054" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">41,033</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Common stock issued under equity incentive plans, net of shares withheld for employee taxes and strike price</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263055" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares" scale="0" format="ixt:numdotdecimal" decimals="INF">331,048</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263056" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:numdotdecimal" decimals="-3">3</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263057" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:numdotdecimal" decimals="-3">7,073</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263058" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="Share" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares" scale="0" format="ixt:zerodash" decimals="INF">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263059" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263060" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263061" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263062" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263063" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:numdotdecimal" decimals="-3">7,076</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263064" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263065" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:numdotdecimal" decimals="-3">7,076</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Common stock issued for business combination</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263066" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" scale="0" format="ixt:numdotdecimal" decimals="INF">30,640</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263067" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" scale="3" format="ixt:numdotdecimal" decimals="-3">1</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263068" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" scale="3" format="ixt:numdotdecimal" decimals="-6">12,000</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263074" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" scale="3" format="ixt:numdotdecimal" decimals="-3">12,001</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263076" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" scale="3" format="ixt:numdotdecimal" decimals="-3">12,001</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Treasury stock issued for business combination</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263077" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesTreasuryStockReissued" scale="0" format="ixt:zerodash" decimals="INF">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263078" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263079" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued" scale="3" format="ixt:numdotdecimal" decimals="-3">384,371</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263080" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesTreasuryStockReissued" scale="0" format="ixt:numdotdecimal" decimals="INF">937,283</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263081" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued" scale="3" format="ixt:numdotdecimal" decimals="-3">36,403</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263082" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263083" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263084" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263085" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued" scale="3" format="ixt:numdotdecimal" decimals="-3">420,774</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263086" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263087" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued" scale="3" format="ixt:numdotdecimal" decimals="-3">420,774</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Net share settlement of restricted stock awards</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263088" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="gnrc:TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards" scale="0" format="ixt:zerodash" decimals="INF" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263089" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263090" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93263091" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="Share" name="gnrc:TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards" scale="0" format="ixt:numdotdecimal" decimals="INF">80,583</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93263092" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:numdotdecimal" decimals="-3">27,223</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263093" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263094" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263095" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93263096" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:numdotdecimal" decimals="-3">27,223</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263097" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93263098" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:numdotdecimal" decimals="-3">27,223</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Stock repurchases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263099" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:TreasuryStockSharesAcquired" scale="0" format="ixt:zerodash" decimals="INF" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263100" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263101" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263102" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="Share" name="us-gaap:TreasuryStockSharesAcquired" scale="0" format="ixt:numdotdecimal" decimals="INF">350,000</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263103" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" format="ixt:numdotdecimal" decimals="-3">125,992</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263104" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263105" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263106" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263107" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" format="ixt:numdotdecimal" decimals="-3">125,992</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263108" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263109" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" format="ixt:numdotdecimal" decimals="-3">125,992</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%; padding-left: 9pt;"> <p style="margin: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Share-based compensation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><ix:nonFraction id="c93263111" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><ix:nonFraction id="c93263112" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">23,954</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><ix:nonFraction id="c93263114" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><ix:nonFraction id="c93263115" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><ix:nonFraction id="c93263116" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><ix:nonFraction id="c93263117" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><ix:nonFraction id="c93263118" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">23,954</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><ix:nonFraction id="c93263119" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt"><ix:nonFraction id="c93263120" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">23,954</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Redemption value adjustment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263122" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263123" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263125" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263126" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93263127" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">17,102</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263128" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93263129" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">17,102</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263130" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">(<ix:nonFraction id="c93263131" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">17,102</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Net income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263133" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263134" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263136" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263137" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263138" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">550,494</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263139" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263140" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">550,494</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263141" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:NetIncomeLossAttributableToNonredeemableNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">501</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;"><ix:nonFraction id="c93263142" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">550,995</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="width: 30%;">&#xa0;</td><td style="padding-bottom: 1px; width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 6%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 4%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="padding-bottom: 1px; width: 1%;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><b>Balance at December 31, 2021</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263143" contextRef="i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">72,386,017</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263144" contextRef="i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">725</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263145" contextRef="i_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">952,939</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263146" contextRef="i_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">8,667,031</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263147" contextRef="i_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">448,976</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">$</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263148" contextRef="i_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">202,116</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263149" contextRef="i_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">1,965,957</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">$</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263150" contextRef="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">54,755</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263151" contextRef="i_2021-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">2,213,774</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263152" contextRef="i_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">313</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263153" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">2,214,087</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Unrealized gain on interest rate swaps, net of tax of $<span style="-sec-ix-hidden:c93263172">12,858</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263155" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263156" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263158" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263159" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263160" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263161" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:numdotdecimal" decimals="-3">38,494</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263162" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:numdotdecimal" decimals="-3">38,494</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263163" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263164" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:numdotdecimal" decimals="-3">38,494</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Foreign currency translation adjustment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263177" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263178" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263180" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263181" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263182" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263183" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">48,841</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263184" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">48,841</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263185" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">264</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263186" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">49,105</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Common stock issued under equity incentive plans, net of shares withheld for employee taxes and strike price</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263187" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares" scale="0" format="ixt:numdotdecimal" decimals="INF">315,240</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263188" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:numdotdecimal" decimals="-3">3</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263189" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">247</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263190" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="Share" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares" scale="0" format="ixt:zerodash" decimals="INF">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263191" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263192" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263193" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263194" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263195" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">244</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263196" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263197" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">244</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Payment of acquisition contingent consideration</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263198" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="gnrc:TreasuryStockIssuedDuringPeriodContingentConsideration" scale="0" format="ixt:zerodash" decimals="INF">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263199" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263200" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:numdotdecimal" decimals="-3">33,965</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263201" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="Share" name="gnrc:TreasuryStockIssuedDuringPeriodContingentConsideration" scale="0" format="ixt:numdotdecimal" decimals="INF">196,531</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263202" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:numdotdecimal" decimals="-3">13,158</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263203" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263204" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263205" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263206" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:numdotdecimal" decimals="-3">47,123</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263207" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263208" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration" scale="3" format="ixt:numdotdecimal" decimals="-3">47,123</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Net share settlement of restricted stock awards</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263209" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="gnrc:TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards" scale="0" format="ixt:zerodash" decimals="INF" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263210" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263211" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263212" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="Share" name="gnrc:TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards" scale="0" format="ixt:numdotdecimal" decimals="INF">91,843</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263213" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:numdotdecimal" decimals="-3">26,833</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263214" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263215" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263216" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263217" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:numdotdecimal" decimals="-3">26,833</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263218" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263219" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" scale="3" format="ixt:numdotdecimal" decimals="-3">26,833</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Stock repurchases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263220" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:TreasuryStockSharesAcquired" scale="0" format="ixt:zerodash" decimals="INF" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263221" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263222" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263223" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="Share" name="us-gaap:TreasuryStockSharesAcquired" scale="0" format="ixt:numdotdecimal" decimals="INF">2,722,007</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263224" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" format="ixt:numdotdecimal" decimals="-4">345,840</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263225" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263226" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263227" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263228" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" format="ixt:numdotdecimal" decimals="-4">345,840</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263229" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263230" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" format="ixt:numdotdecimal" decimals="-4">345,840</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Share-based compensation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263232" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263233" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">29,481</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263235" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263236" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263237" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263238" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263239" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">29,481</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263240" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263241" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">29,481</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Redemption value adjustment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263243" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263244" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263246" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263247" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263248" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">49,235</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263249" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263250" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">49,235</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263251" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263252" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">49,235</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Net income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263254" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263255" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><em style="font: inherit;">&#x2013;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263257" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263258" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263259" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">399,502</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263260" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263261" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">399,502</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263262" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:NetIncomeLossAttributableToNonredeemableNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">1,825</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0"><ix:nonFraction id="c93263263" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">401,327</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="width: 30%;">&#xa0;</td><td style="padding-bottom: 1px; width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 6%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 4%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 1%;">&#xa0;</td><td style="border-bottom: 1px solid rgb(0, 0, 0); width: 3%;">&#xa0;</td><td style="padding-bottom: 1px; width: 1%;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin: 0pt;"><b>Balance at December 31, 2022</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263264" contextRef="i_2022-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">72,701,257</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263265" contextRef="i_2022-12-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">728</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263266" contextRef="i_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">1,016,138</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c93263267" contextRef="i_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">11,284,350</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c93263268" contextRef="i_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">808,491</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 6%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c93263269" contextRef="i_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">202,116</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263270" contextRef="i_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">2,316,224</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 4%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c93263271" contextRef="i_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">65,102</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263272" contextRef="i_2022-12-31_StatementEquityComponentsAxis-ParentMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">2,257,381</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263273" contextRef="i_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">1,874</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 3%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263274" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">2,259,255</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 8pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
  </div>
  <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="vertical-align:middle;width:22.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>See notes to consolidated financial statements.</i></p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     41
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td colspan="6" style="vertical-align:middle;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:12pt;margin:0pt;text-align:center;"><a id="cf" title="cf" href="#"></a>Generac Holdings Inc.</p> </td>
    </tr>

    <tr>
     <td colspan="6" style="vertical-align:middle;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:12pt;margin:0pt;text-align:center;">Consolidated Statements of Cash Flows</p> </td>
    </tr>

    <tr>
     <td colspan="6" style="vertical-align:middle;width:100%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><i>(U.S. Dollars in Thousands)</i></p> </td>
    </tr>

   </tbody>
  </table>
  <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
  <div>
   <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">
    <tbody>
     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 55%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Operating activities</b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Net income</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263282" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:ProfitLoss" scale="3" format="ixt:numdotdecimal" decimals="-4">408,870</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263283" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:ProfitLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">556,569</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263284" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:ProfitLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">347,218</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Adjustments to reconcile net income to net cash provided by operating activities:</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Depreciation</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263286" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:Depreciation" scale="3" format="ixt:numdotdecimal" decimals="-3">52,821</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263287" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:Depreciation" scale="3" format="ixt:numdotdecimal" decimals="-3">42,155</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263288" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:Depreciation" scale="3" format="ixt:numdotdecimal" decimals="-3">36,493</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Amortization of intangible assets</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263289" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-4">103,320</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263290" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">49,886</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263291" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-4">32,280</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Amortization of original issue discount and deferred financing costs</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263292" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:AmortizationOfFinancingCostsAndDiscounts" scale="3" format="ixt:numdotdecimal" decimals="-3">3,234</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263293" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:AmortizationOfFinancingCostsAndDiscounts" scale="3" format="ixt:numdotdecimal" decimals="-3">2,589</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263294" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:AmortizationOfFinancingCostsAndDiscounts" scale="3" format="ixt:numdotdecimal" decimals="-3">2,598</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Loss on extinguishment of debt</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263295" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">3,743</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263296" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">831</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263297" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Deferred income taxes</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263298" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">95,465</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263299" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">2,096</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263300" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">21,195</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Share-based compensation expense</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263301" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:ShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3">29,481</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263302" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:ShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3">23,954</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263303" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:ShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3">20,882</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Gain on disposal of assets</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263304" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:GainLossOnDispositionOfAssets1" scale="3" format="ixt:numdotdecimal" decimals="-3">592</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263305" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:GainLossOnDispositionOfAssets1" scale="3" format="ixt:numdotdecimal" decimals="-3">4,393</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263306" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:GainLossOnDispositionOfAssets1" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other noncash charges</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263307" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:BusinessCombinationContingentConsiderationGainLossChangeInFairValue" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">18,339</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263308" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="gnrc:BusinessCombinationContingentConsiderationGainLossChangeInFairValue" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">206</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263309" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="gnrc:BusinessCombinationContingentConsiderationGainLossChangeInFairValue" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">7,145</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Net changes in operating assets and liabilities, net of acquisitions:</p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Accounts receivable</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263311" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">6,547</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263312" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" format="ixt:numdotdecimal" decimals="-3">131,861</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263313" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" format="ixt:numdotdecimal" decimals="-3">55,976</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Inventories</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263314" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:IncreaseDecreaseInInventories" scale="3" format="ixt:numdotdecimal" decimals="-3">319,274</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263315" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:IncreaseDecreaseInInventories" scale="3" format="ixt:numdotdecimal" decimals="-3">470,991</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263316" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:IncreaseDecreaseInInventories" scale="3" format="ixt:numdotdecimal" decimals="-3">77,983</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other assets</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263317" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">4,766</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263318" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">819</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263319" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">12,859</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Accounts payable</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263320" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">223,031</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263321" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" format="ixt:numdotdecimal" decimals="-3">297,323</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263322" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" format="ixt:numdotdecimal" decimals="-4">66,040</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Accrued wages and employee benefits</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263323" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">27,369</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263324" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">5,814</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263325" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">20,157</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other accrued liabilities</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263326" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">110,036</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263327" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">73,798</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263328" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">60,593</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 18pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Excess tax benefits from equity awards</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93263329" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:ExcessTaxBenefitsFromEquityAwards" scale="3" format="ixt:numdotdecimal" decimals="-4">16,910</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93263330" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="gnrc:ExcessTaxBenefitsFromEquityAwards" scale="3" format="ixt:numdotdecimal" decimals="-3">31,809</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93263331" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="gnrc:ExcessTaxBenefitsFromEquityAwards" scale="3" format="ixt:numdotdecimal" decimals="-3">6,968</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net cash provided by operating activities</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263332" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" format="ixt:numdotdecimal" decimals="-3">58,516</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263333" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" format="ixt:numdotdecimal" decimals="-3">411,156</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263334" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" format="ixt:numdotdecimal" decimals="-3">486,533</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Investing activities</b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Proceeds from sale of property and equipment</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263336" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">2,077</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263337" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">259</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263338" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">179</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Proceeds from sale of investment</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263339" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:ProceedsFromSaleOfLongtermInvestments" scale="3" format="ixt:numdotdecimal" decimals="-3">1,308</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263340" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:ProceedsFromSaleOfLongtermInvestments" scale="3" format="ixt:numdotdecimal" decimals="-3">4,968</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263341" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:ProceedsFromSaleOfLongtermInvestments" scale="3" format="ixt:zerodash" decimals="-3">&#x2013;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Proceeds from beneficial interest in securitization transactions</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263342" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables" scale="3" format="ixt:numdotdecimal" decimals="-3">3,566</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263343" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables" scale="3" format="ixt:numdotdecimal" decimals="-3">4,609</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263344" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables" scale="3" format="ixt:numdotdecimal" decimals="-3">2,651</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Contribution to equity method investment</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263345" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="3" format="ixt:numdotdecimal" decimals="-4">14,930</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263346" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="3" format="ixt:numdotdecimal" decimals="-4">3,660</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263347" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Expenditures for property and equipment</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263348" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">86,188</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263349" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">109,992</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263350" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">62,128</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Purchase of long-term investment</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263351" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:PaymentsToAcquireLongtermInvestments" scale="3" format="ixt:numdotdecimal" decimals="-6">15,000</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263352" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:PaymentsToAcquireLongtermInvestments" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263353" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:PaymentsToAcquireLongtermInvestments" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Acquisition of businesses, net of cash acquired</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93263354" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" scale="3" format="ixt:numdotdecimal" decimals="-3">25,065</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93263355" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" scale="3" format="ixt:numdotdecimal" decimals="-3">713,471</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93263356" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" scale="3" format="ixt:numdotdecimal" decimals="-3">64,797</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net cash used in investing activities</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93263357" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">134,232</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93263358" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">817,287</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93263359" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">124,095</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Financing activities</b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Proceeds from short-term borrowings</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263361" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:ProceedsFromShortTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">248,209</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263362" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:ProceedsFromShortTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">272,818</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263363" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:ProceedsFromShortTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">257,593</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Proceeds from long-term borrowings</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263364" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">1,026,284</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263365" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">150,088</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263366" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">277</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Repayments of short-term borrowings</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263367" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:RepaymentsOfShortTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">268,133</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263368" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:RepaymentsOfShortTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">239,113</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263369" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:RepaymentsOfShortTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">277,719</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Repayments of long-term borrowings and finance lease obligations</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263370" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities" scale="3" format="ixt:numdotdecimal" decimals="-3">542,191</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263371" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities" scale="3" format="ixt:numdotdecimal" decimals="-3">108,556</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263372" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities" scale="3" format="ixt:numdotdecimal" decimals="-3">4,758</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Stock repurchases</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263373" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" format="ixt:numdotdecimal" decimals="-4">345,840</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263374" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" format="ixt:numdotdecimal" decimals="-3">125,992</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263375" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Payment of contingent acquisition consideration</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263376" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" scale="3" format="ixt:numdotdecimal" decimals="-3">16,135</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263377" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" scale="3" format="ixt:numdotdecimal" decimals="-4">3,750</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263378" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" scale="3" format="ixt:numdotdecimal" decimals="-6">4,000</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Payment of debt issuance costs</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263379" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:PaymentsOfDebtIssuanceCosts" scale="3" format="ixt:numdotdecimal" decimals="-4">10,330</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263380" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:PaymentsOfDebtIssuanceCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">1,185</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263381" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:PaymentsOfDebtIssuanceCosts" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Purchase of additional ownership interest</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263382" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">375</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263383" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">27,164</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263384" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Cash dividends paid to noncontrolling interest of subsidiary</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263385" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:PaymentsOfDividendsCommonStock" scale="3" format="ixt:numdotdecimal" decimals="-3">309</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263386" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:PaymentsOfDividendsCommonStock" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263387" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:PaymentsOfDividendsCommonStock" scale="3" format="ixt:zerodash" decimals="-3" sign="-">&#x2013;</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Taxes paid related to equity awards</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263388" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3">40,923</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263389" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3">58,903</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263390" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-4">14,910</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Proceeds from the exercise of stock options</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263391" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" format="ixt:numdotdecimal" decimals="-3">13,786</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263392" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" format="ixt:numdotdecimal" decimals="-3">38,787</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263393" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" format="ixt:numdotdecimal" decimals="-3">13,089</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net cash provided by (used in) financing activities</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263394" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" format="ixt:numdotdecimal" decimals="-3">64,043</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93263395" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">102,970</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93263396" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">30,428</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Effect of exchange rate changes on cash and cash equivalents</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93263397" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">2,943</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263398" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-3">1,312</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263399" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-3">235</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net (decrease) increase in cash and cash equivalents</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93263400" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">14,616</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93263401" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">507,789</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263402" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" format="ixt:numdotdecimal" decimals="-3">332,245</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Cash and cash equivalents at beginning of period</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263403" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-3">147,339</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263404" contextRef="i_2020-12-31" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-3">655,128</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263405" contextRef="i_2019-12-31" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-3">322,883</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Cash and cash equivalents at end of period</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263406" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-3">132,723</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263407" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-3">147,339</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263408" contextRef="i_2020-12-31" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" format="ixt:numdotdecimal" decimals="-3">655,128</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
      <td>&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Supplemental disclosure of cash flow information</b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Cash paid during the period</b></p> </td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td>
     </tr>

     <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Interest</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263411" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:InterestPaidNet" scale="3" format="ixt:numdotdecimal" decimals="-3">48,912</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263412" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:InterestPaidNet" scale="3" format="ixt:numdotdecimal" decimals="-3">27,842</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263413" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:InterestPaidNet" scale="3" format="ixt:numdotdecimal" decimals="-3">28,765</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

     <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
      <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Income taxes</p> </td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263414" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:IncomeTaxesPaidNet" scale="3" format="ixt:numdotdecimal" decimals="-3">150,893</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263415" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:IncomeTaxesPaidNet" scale="3" format="ixt:numdotdecimal" decimals="-3">156,728</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263416" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:IncomeTaxesPaidNet" scale="3" format="ixt:numdotdecimal" decimals="-3">61,861</ix:nonFraction></td>
      <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
     </tr>

    </tbody>
   </table>
  </div>
  <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="vertical-align:middle;width:42.1%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>See notes to consolidated financial statements.</i></p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     42
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><a id="notes" title="notes" href="#"></a>Generac Holdings Inc.<br /> Notes to Consolidated Financial Statements</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:7.2pt;margin-right:0pt;margin-top:0pt;text-align:center;"><b>Years Ended December 31, 2022, 2021 and 2020</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><i>(</i><i>U.S. </i><i>Dollars in Thousands, Except Share and Per Share Data)</i></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><i>&#xa0;</i></p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock" id="c2284657" escape="true">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b><em style="font: inherit;">1.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b>Description of Business</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Founded in <em style="font: inherit;">1959,</em> Generac Holdings Inc. (the Company) is a leading global designer and manufacturer of a wide range of energy technology solutions. The Company provides power generation equipment, energy storage systems, energy management devices &amp; solutions, and other power products&#xa0;serving the residential, light commercial, and industrial markets. Generac&#x2019;s power products and solutions are available globally through a broad network of independent dealers, distributors, retailers, e-commerce partners, wholesalers, and equipment rental companies,&#xa0;as well as sold direct to certain end user customers.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Over the years, the Company has executed a number of acquisitions that support its strategic plan (refer to Item <em style="font: inherit;">1</em> in this Annual Report on Form <em style="font: inherit;">10</em>-K for discussion of our &#x201c;Powering a&#xa0;Smarter World&#x201d; strategic plan). A summary of acquisitions affecting the reporting periods presented include:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width: 18pt; text-align: justify;">&#xa0;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#x25cf;</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">In <em style="font: inherit;"> July 2020, </em>the Company acquired West Coast Energy Systems LLC&#xa0;(Energy Systems), its industrial distributor in northern California. This addition enhances the Company's ability to serve the west coast markets for both commercial &amp; industrial (C&amp;I) and residential products.</p> </td></tr>
<tr><td style="width: 18pt; text-align: justify;">&#xa0;</td><td style="width: 18pt; vertical-align: top; text-align: justify;">&#x25cf;</td><td style="vertical-align: top; text-align: justify;">In <em style="font: inherit;"> September 2020, </em>the Company acquired Mean Green Products, LLC (Mean Green), founded in <em style="font: inherit;">2009</em> and located in Ross, Ohio. Mean Green is a designer and manufacturer of commercial grade, battery-powered turf care products that provide quiet, <em style="font: inherit;">zero</em> emissions and reduced maintenance options as compared to traditional commercial mowers.</td></tr>
<tr><td style="width: 18pt; text-align: justify;">&#xa0;</td><td style="width: 18pt; vertical-align: top; text-align: justify;">&#x25cf;</td><td style="vertical-align: top; text-align: justify;">In <em style="font: inherit;"> October 2020, </em>the Company acquired Enbala Power Networks Inc. (Enbala), founded in <em style="font: inherit;">2003</em> and headquartered in Denver, Colorado. Enbala is <em style="font: inherit;">one</em> of the leading providers of distributed energy optimization and control software that helps support the operational stability of the world's power grids.&#xa0;</td></tr>
<tr><td style="width: 18pt; text-align: justify;">&#xa0;</td><td style="width: 18pt; vertical-align: top; text-align: justify;">&#x25cf;</td><td style="vertical-align: top; text-align: justify;">In <em style="font: inherit;"> June 2021, </em>the Company acquired Deep Sea Electronics Limited (Deep Sea), founded in <em style="font: inherit;">1975</em> and headquartered in Hunmanby, United Kingdom. Deep Sea is an industry leading designer and manufacturer of a diverse suite of flexible control solutions focused on the global power generation and transfer switch markets.</td></tr>
<tr><td style="width: 18pt; text-align: justify;">&#xa0;</td><td style="width: 18pt; vertical-align: top; text-align: justify;">&#x25cf;</td><td style="vertical-align: top; text-align: justify;">In <em style="font: inherit;"> July 2021,&#xa0;</em>the Company acquired Chilicon Power, LLC (Chilicon), a designer and provider of grid-interactive microinverter and monitoring solutions for the solar market. Based in Los Angeles, California, Chilicon's power inversion and monitoring system technologies maximize photovoltaic (solar power) system production, lower installer operational cost, and promote end-user satisfaction.</td></tr>
<tr><td style="width: 18pt; text-align: justify;">&#xa0;</td><td style="width: 18pt; vertical-align: top; text-align: justify;">&#x25cf;</td><td style="vertical-align: top; text-align: justify;">In <em style="font: inherit;"> September 2021,&#xa0;</em>the Company acquired Apricity Code Corporation (Apricity Code), an advanced engineering and product design company located in Bend, Oregon.</td></tr>
<tr><td style="width: 18pt; text-align: justify;">&#xa0;</td><td style="width: 18pt; vertical-align: top; text-align: justify;">&#x25cf;</td><td style="vertical-align: top; text-align: justify;">In <em style="font: inherit;"> September 2021, </em>the Company acquired Off Grid Energy Ltd (Off Grid Energy), a designer and manufacturer of industrial-grade mobile energy storage systems. Headquartered in Rugby, United Kingdom, Off Grid Energy offers a diverse range of energy storage solutions that provide cleaner and more flexible energy for industrial and mobile applications.&#xa0;</td></tr>
<tr><td style="width: 18pt; text-align: justify;">&#xa0;</td><td style="width: 18pt; vertical-align: top; text-align: justify;">&#x25cf;</td><td style="vertical-align: top; text-align: justify;">In <em style="font: inherit;"> October 2021,&#xa0;</em>the Company acquired Tank Utility, Inc. (Tank Utility). Headquartered in Boston, Massachusetts, Tank Utility is a provider of internet of things (IoT) propane tank monitoring that enables the optimization of propane fuel logistics.</td></tr>
<tr><td style="width: 18pt; text-align: justify;">&#xa0;</td><td style="width: 18pt; vertical-align: top; text-align: justify;">&#x25cf;</td><td style="vertical-align: top; text-align: justify;">In <em style="font: inherit;"> December 2021, </em>the Company acquired ecobee Inc. (ecobee), founded in <em style="font: inherit;">2007</em> and headquartered in Toronto, Canada. ecobee is a leader in sustainable home technology solutions including smart thermostats that deliver significant energy savings, security and peace of mind.&#xa0;</td></tr>
<tr><td style="width: 18pt; text-align: justify;">&#xa0;</td><td style="width: 18pt; vertical-align: top; text-align: justify;">&#x25cf;</td><td style="vertical-align: top; text-align: justify;">In <em style="font: inherit;"> June 2022, </em>the Company acquired Electronic Environments Co. LLC and related subsidiaries (collectively EEC). Headquartered in Marlborough, Massachusetts, EEC is an industrial generator distributor as well as a provider of data center and telecom facility design, build, maintenance, and repair services.</td></tr>
<tr><td style="width: 18pt; text-align: justify;">&#xa0;</td><td style="width: 18pt; vertical-align: top; text-align: justify;">&#x25cf;</td><td style="vertical-align: top; text-align: justify;">In <em style="font: inherit;"> October 2022,&#xa0;</em>the Company acquired BPAC, Inc.&#xa0;(Blue Pillar), an industrial IoT platform developer that designs, deploys, and manages industrial IoT network software solutions to enable distributed energy generation monitoring and control.</td></tr>
</tbody></table>
  </ix:nonNumeric>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:SignificantAccountingPoliciesTextBlock" id="c2284658" escape="true">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">2.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Summary of</b><b> Accounting Policies </b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ConsolidationPolicyTextBlock" id="c93268164" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Principles of Consolidation</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The consolidated financial statements include the accounts of the Company and its subsidiaries that are consolidated in conformity with U.S. GAAP. All intercompany amounts and transactions have been eliminated in consolidation.</p></ix:nonNumeric><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:CashAndCashEquivalentsPolicyTextBlock" id="c93268165" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Cash </b><b>and Cash </b><b>Equivalents</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company considers all highly liquid investments purchased with an original maturity of <em style="font: inherit;">three</em> months or less to be cash equivalents.</p></ix:nonNumeric><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ConcentrationRiskCreditRisk" id="c93268166" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Concentration of Credit Risk</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company maintains the majority of its domestic cash in a few&#xa0;commercial banks in multiple operating and investment accounts. Balances on deposit are insured by the Federal Deposit Insurance Corporation (FDIC) up to specified limits. Balances in excess of FDIC limits are uninsured.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">43</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">One customer accounted for approximately <ix:nonFraction id="c93263437" contextRef="d_2022-01-01_2022-12-31_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">11</ix:nonFraction>% and <ix:nonFraction id="c93263440" contextRef="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">8</ix:nonFraction>% of accounts receivable at <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em>, respectively. <span style="-sec-ix-hidden:c93263446"><span style="-sec-ix-hidden:c93263449"><span style="-sec-ix-hidden:c93263452">No</span></span></span> <em style="font: inherit;">one</em> customer accounted for greater than <ix:nonFraction id="c93263458" contextRef="d_2022-01-01_2022-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-NoCustomerMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">4</ix:nonFraction>%, <ix:nonFraction id="c93263461" contextRef="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-NoCustomerMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">6</ix:nonFraction>%, and <ix:nonFraction id="c93263464" contextRef="d_2020-01-01_2020-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-NoCustomerMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">6</ix:nonFraction>%, of net sales during the years ended <em style="font: inherit;"> December 31, 2022</em>, <em style="font: inherit;">2021</em>, and&#xa0;<em style="font: inherit;">2020</em>, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ReceivablesPolicyTextBlock" id="c93268167" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Accounts Receivable and Allowance for Credit Losses</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company's trade and other receivables primarily arise from the sale of its&#xa0;products and services to independent residential dealers, industrial distributors&#xa0;and dealers, national and regional retailers, electrical/HVAC/solar wholesalers, e-commerce partners, equipment rental companies, equipment distributors, solar installers, utilities, EPC companies, and certain end users with payment terms generally ranging from <em style="font: inherit;">30</em> to <em style="font: inherit;">90</em> days. The Company evaluates the credit risk of a customer when extending credit based on a combination of various financial and qualitative factors that <em style="font: inherit;"> may </em>affect the customers' ability to pay. These factors include the customer's financial condition, past payment experience, credit bureau information, and regional considerations.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Receivables are recorded at their face value amount less an allowance for credit losses. The Company maintains an allowance for credit losses, which represents an estimate of expected losses over the remaining contractual life of its receivables considering current market conditions and estimates for supportable forecasts when appropriate. The Company measures expected credit losses on its trade receivables on an entity-by-entity basis. The estimate of expected credit losses considers a historical loss experience rate that is adjusted for delinquency trends, collection experience, and/or economic risk where appropriate based on current market conditions. Additionally, management develops a specific allowance for trade receivables known to have a high risk of expected future credit loss.&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company has historically experienced immaterial write-offs given the nature of the customers that receive credit. In addition, the Company holds various&#xa0;credit insurance plans that cover&#xa0;the risk of loss up to specified amounts on certain trade receivables. As of <em style="font: inherit;"> December 31, 2022, </em>the Company had gross receivables of $<ix:nonFraction id="c93263479" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AccountsReceivableGross" scale="3" format="ixt:numdotdecimal" decimals="-3">550,122</ix:nonFraction>&#xa0;and an allowance for credit losses of $<ix:nonFraction id="c93263482" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" scale="3" format="ixt:numdotdecimal" decimals="-3">27,664</ix:nonFraction>.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The following is a tabular reconciliation of the Company's allowance for credit losses:&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock" id="c2284659" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">Year Ended December 31, 2022</em></b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 83%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at beginning of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263621" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" scale="3" format="ixt:numdotdecimal" decimals="-3">12,025</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Established for acquisitions</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263622" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions" scale="3" format="ixt:numdotdecimal" decimals="-3">498</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Provision for credit losses (1)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263623" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" format="ixt:numdotdecimal" decimals="-3">17,966</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Charge-offs</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263624" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" scale="3" format="ixt:numdotdecimal" decimals="-3">2,554</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Currency translation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93263625" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">271</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Balance at end of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263626" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" scale="3" format="ixt:numdotdecimal" decimals="-3">27,664</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;">(<em style="font: inherit;">1</em>)</td><td style="vertical-align:top;">Includes a specific credit loss provision of $<ix:nonFraction id="c93263488" contextRef="d_2022-07-01_2022-09-30_ProductOrServiceAxis-CleanEnergyProductMember" unitRef="USD" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" format="ixt:numdotdecimal" decimals="-3">17,926</ix:nonFraction> recorded during the <em style="font: inherit;">third</em> quarter of <em style="font: inherit;">2022</em> for a clean energy product customer that filed for bankruptcy.</td></tr>
</tbody></table></ix:nonNumeric><table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="vertical-align:top;"></td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:InventoryPolicyTextBlock" id="c93268168" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Inventories</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Inventories are stated at the lower of cost or market, with cost determined&#xa0;using the <em style="font: inherit;">first</em>-in, <em style="font: inherit;">first</em>-out method.</p></ix:nonNumeric><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" id="c93268169" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Property and Equipment </b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Property and equipment are recorded at cost and are being depreciated using the straight-line method over the estimated useful lives of the assets, which are summarized below (in years). Costs of leasehold improvements are amortized over the lesser of the term of the lease (including renewal option periods) or the estimated useful lives of the improvements. Finance lease right of use assets are included in property and equipment. Refer to Note <em style="font: inherit;">10,</em> &#x201c;Leases,&#x201d; to the consolidated financial statements for the Company's lease disclosure.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="gnrc:PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" id="c2284660" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Land improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandImprovementsMember_RangeAxis-MinimumMember" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="c93263627" format="ixt-sec:duryear">8</ix:nonNumeric></td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#x2013;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandImprovementsMember_RangeAxis-MaximumMember" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="c93263628" format="ixt-sec:duryear">20</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Buildings and improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember_RangeAxis-MinimumMember" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="c93263629" format="ixt-sec:duryear">10</ix:nonNumeric></td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#x2013;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember_RangeAxis-MaximumMember" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="c93263630" format="ixt-sec:duryear">40</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Machinery and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember_RangeAxis-MinimumMember" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="c93263631" format="ixt-sec:duryear">3</ix:nonNumeric></td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#x2013;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember_RangeAxis-MaximumMember" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="c93263632" format="ixt-sec:duryear">15</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Dies and tools</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-DiesAndToolsMember_RangeAxis-MinimumMember" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="c93263633" format="ixt-sec:duryear">3</ix:nonNumeric></td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#x2013;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-DiesAndToolsMember_RangeAxis-MaximumMember" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="c93263634" format="ixt-sec:duryear">10</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Vehicles</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember_RangeAxis-MinimumMember" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="c93263635" format="ixt-sec:duryear">3</ix:nonNumeric></td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#x2013;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember_RangeAxis-MaximumMember" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="c93263636" format="ixt-sec:duryear">6</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Office equipment and systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-OfficeEquipmentMember_RangeAxis-MinimumMember" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="c93263637" format="ixt-sec:duryear">3</ix:nonNumeric></td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#x2013;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-OfficeEquipmentMember_RangeAxis-MaximumMember" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="c93263638" format="ixt-sec:duryear">15</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Leasehold improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember_RangeAxis-MinimumMember" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="c93263639" format="ixt-sec:duryear">2</ix:nonNumeric></td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#x2013;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember_RangeAxis-MaximumMember" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="c93263640" format="ixt-sec:duryear">20</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Total depreciation expense was $<ix:nonFraction id="c93263496" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:Depreciation" scale="3" format="ixt:numdotdecimal" decimals="-3">52,821</ix:nonFraction>, $<ix:nonFraction id="c93263497" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:Depreciation" scale="3" format="ixt:numdotdecimal" decimals="-3">42,155</ix:nonFraction>, and $<ix:nonFraction id="c93263498" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:Depreciation" scale="3" format="ixt:numdotdecimal" decimals="-3">36,493</ix:nonFraction>&#xa0;for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy" id="c93268170" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Goodwill and Other Indefinite-Lived Intangible Assets</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Goodwill represents the excess of the purchase price over fair value of identifiable net assets acquired from business acquisitions. Goodwill is <em style="font: inherit;">not</em> amortized, but is reviewed for impairment on an annual basis and between annual tests if indicators of impairment are present. The Company evaluates goodwill for impairment annually as of <em style="font: inherit;"> October 31 </em>or more frequently when an event occurs or circumstances change that indicates the carrying value <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be recoverable. The Company has the option to assess goodwill for impairment by performing either a qualitative assessment or quantitative test. The qualitative assessment determines whether it is more likely than <em style="font: inherit;">not</em> that the fair value of a reporting unit is less than its carrying amount. If the Company determines that it is <em style="font: inherit;">not</em> more likely than <em style="font: inherit;">not</em> that the fair value of a reporting unit is less than its carrying amount, then the quantitative test is <em style="font: inherit;">not</em> required to be performed. If the Company determines that it is more likely than <em style="font: inherit;">not</em> that the fair value of a reporting unit is less than its carrying amount, the Company is required to perform the quantitative test. In the quantitative test, the calculated fair value of the reporting unit is compared to its book value including goodwill. If the fair value of the reporting unit is in excess of its book value, the related goodwill is <em style="font: inherit;">not</em> impaired. If the fair value of the reporting unit is less than its book value, an impairment loss is recognized in an amount equal to that excess, limited to the total amount of goodwill allocated to that reporting unit.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Other indefinite-lived intangible assets consist of certain tradenames. The Company tests the carrying value of these tradenames annually as of <em style="font: inherit;"> October 31, </em>or more frequently when an event occurs or circumstances change that indicates the carrying value <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be recoverable, by comparing the assets&#x2019; fair value to its carrying value. Fair value is measured using a relief-from-royalty approach, which assumes the fair value of the tradename is the discounted cash flows of the amount that would be paid had the Company <em style="font: inherit;">not</em> owned the tradename and instead licensed the tradename from another company.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company performed the required annual impairment tests for goodwill and other indefinite-lived intangible assets for the fiscal years <em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, and found <span style="-sec-ix-hidden:c93263514"><span style="-sec-ix-hidden:c93263515"><span style="-sec-ix-hidden:c93263516">no</span></span></span> impairment.</p></ix:nonNumeric><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" id="c93268171" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Impairment of Long-Lived Assets</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company periodically evaluates the carrying value of long-lived assets (excluding goodwill and indefinite-lived tradenames). Long-lived assets are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be recoverable. If the sum of the expected future undiscounted cash flows is less than the carrying amount of an asset, a loss is recognized for the difference between the fair value and carrying value of the asset.</p></ix:nonNumeric><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">44</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:DebtPolicyTextBlock" id="c93268172" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Debt Issuance Costs</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Debt discounts and direct costs incurred in connection with the issuance or amendment of long-term debt are deferred and recorded as a reduction of outstanding debt and amortized to interest expense using the effective interest method over the terms of the related credit agreements. $<ix:nonFraction id="c93263519" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:AmortizationOfFinancingCostsAndDebtDiscountPremium" scale="3" format="ixt:numdotdecimal" decimals="-3">3,234</ix:nonFraction>, $<ix:nonFraction id="c93263520" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="gnrc:AmortizationOfFinancingCostsAndDebtDiscountPremium" scale="3" format="ixt:numdotdecimal" decimals="-3">2,589</ix:nonFraction>, and $<ix:nonFraction id="c93263521" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="gnrc:AmortizationOfFinancingCostsAndDebtDiscountPremium" scale="3" format="ixt:numdotdecimal" decimals="-3">2,598</ix:nonFraction>,&#xa0;of deferred financing costs and original issue discount were amortized to interest expense during fiscal years <em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively. Excluding the impact of any future long-term debt issuances or prepayments, estimated amortization to interest expense for the next <em style="font: inherit;">five</em> years is as follows: <em style="font: inherit;">2023</em>&#xa0;- <span style="-sec-ix-hidden:c93263527">$3,885;</span> <em style="font: inherit;">2024</em>&#xa0;- <span style="-sec-ix-hidden:c93263529">$3,923;</span> <em style="font: inherit;">2025</em>&#xa0;- <span style="-sec-ix-hidden:c93263531">$3,919;</span> <em style="font: inherit;">2026</em>&#xa0;- <span style="-sec-ix-hidden:c93263533">$3,819;</span> <em style="font: inherit;">2027</em>&#xa0;- <span style="-sec-ix-hidden:c93263535">$1,028.</span></p></ix:nonNumeric><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:IncomeTaxPolicyTextBlock" id="c93268173" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Income Taxes</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company is a C Corporation and therefore accounts for income taxes pursuant to the liability method. Accordingly, the current or deferred tax consequences of a transaction are measured by applying the provision of enacted tax laws to determine the amount of taxes payable currently or in future years. Deferred income taxes are provided for temporary differences between the income tax bases of assets and liabilities and their carrying amounts for financial reporting purposes. In assessing the realizability of deferred tax assets, the Company considers whether it is more likely than <em style="font: inherit;">not</em> that some portion or all of the deferred tax assets will <em style="font: inherit;">not</em> be realized. The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the years in which those temporary differences become deductible. The Company considers taxable income in prior carryback years, the scheduled reversal of deferred tax liabilities, projected future taxable income and tax planning strategies, as appropriate, in making this assessment.</p></ix:nonNumeric><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="c93268174" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Revenue Recognition</b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><br /> The Company&#x2019;s revenues primarily consist of product sales to its customers. The Company considers the purchase orders, which in some cases are governed by master sales agreements, to be the contracts with the customers. For each contract, the Company considers the commitment to transfer products, each of which is distinct, to be the identified performance obligations. Revenue is measured as the amount of consideration the Company expects to be entitled in exchange for the transfer of product, which is generally the price stated in the contract specific for each item sold, adjusted for the value of expected returns, discounts, rebates, or other promotional incentives or allowances offered to our customers. Expected returns for damaged or defective product are estimated using the expected value method based on historical product return experience. Discounts and rebates offered to customers are typically defined in the master sales agreements with customers and, therefore, are recorded using the most likely amount method based on the terms of the contract. Promotional incentives are defined programs offered for short, specific periods of time and are estimated using the expected value method based on historical experience. The Company does <em style="font: inherit;">not</em> expect the transaction price for revenue recognized will be subject to a significant revenue reversal. As the Company&#x2019;s product sale contracts and standard payment terms have a duration of less than <em style="font: inherit;">one</em> year, it uses the practical expedient applicable to such contracts and does <em style="font: inherit;">not</em> consider the time value of money. Sales, use, value add, and other similar taxes assessed by governmental authorities and collected concurrent with revenue-producing activities are excluded from revenue. The Company has elected to recognize the cost for freight activities when control of the product has transferred to the customer as an expense within cost of goods sold in the consolidated statements of comprehensive income. Product revenues are recognized at the point in time when control of the product is transferred to the customer, which typically occurs upon shipment or delivery to the customer. To determine when control has transferred, the Company considers if there is a present right to payment and if legal title, physical possession, and the significant risks and rewards of ownership of the asset has transferred to the customer. As a substantial portion&#xa0;of the Company&#x2019;s product revenues are recognized at a point in time, the amount of unsatisfied performance obligations at each period end is <em style="font: inherit;">not</em> material. The Company&#x2019;s contracts have an original expected duration of <em style="font: inherit;">one</em> year or less. As a result, the Company has elected to use the practical expedient to <em style="font: inherit;">not</em> disclose its remaining performance obligations.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">At the request of certain customers, the Company will warehouse inventory billed to the customer but <em style="font: inherit;">not</em> delivered. Unless all revenue recognition criteria have been met, the Company does <em style="font: inherit;">not</em> recognize revenue on these transactions until the customer takes possession of the product.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">While the Company&#x2019;s standard payment terms are less than <em style="font: inherit;">one</em> year, the specific payment terms and conditions in its customer contracts vary. In some cases, customers prepay for their goods; in other cases, after appropriate credit evaluation, an open credit line is granted and payment is due in arrears. Contracts with payment in arrears are recognized in the consolidated balance sheets as accounts receivable upon revenue recognition, while contracts where customers pay in advance are recognized as customer deposits and recorded in other accrued liabilities in the consolidated balance sheets until revenue is recognized. The balance of customer deposits (contract liabilities) was $<ix:nonFraction id="c93263547" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:ContractWithCustomerLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">33,551</ix:nonFraction>&#xa0;and $<ix:nonFraction id="c93263548" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:ContractWithCustomerLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">27,388</ix:nonFraction>&#xa0;at <em style="font: inherit;"> December 31, 2022</em> and <em style="font: inherit;"> December 31, 2021</em>, respectively. During the year ended <em style="font: inherit;"> December 31, 2022</em>, the Company recognized revenue of $<ix:nonFraction id="c93263549" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="3" format="ixt:numdotdecimal" decimals="-3">27,388</ix:nonFraction>&#xa0;related to amounts included in the <em style="font: inherit;"> December 31, 2021</em> customer deposit balance. The Company typically recognizes revenue within <em style="font: inherit;">one</em> year of the receipt of the customer deposit.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">45</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company offers standard warranty coverage on substantially all products that it sells and accounts for this standard warranty coverage as an assurance warranty. As such, <em style="font: inherit;">no</em> transaction price is allocated to the standard warranty, and the Company records a liability for product warranty obligations at the time of sale to a customer based on historical warranty experience. Refer to Note <em style="font: inherit;">11,</em> &#x201c;Product Warranty Obligations,&#x201d; to the consolidated financial statements for further information regarding the Company&#x2019;s standard warranties.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company also sells extended warranty coverage for certain products, which it accounts for as service warranties. In most cases, the extended warranty is sold as a separate contract. As such, extended warranty sales are considered a separate performance obligation, and the extended warranty transaction is separate and distinct from the product. The extended warranty transaction price is initially recorded as deferred revenue in the consolidated balance sheets and amortized on a straight-line basis to net sales in the consolidated statements of comprehensive income over the life of the contracts following the standard warranty period. For extended warranty contracts that the Company sells under a <em style="font: inherit;">third</em>-party marketing agreement, it is required to pay fees to the <em style="font: inherit;">third</em>-party service provider and classifies these fees as costs to obtain a contract. The contract costs are deferred and recorded as other assets in the consolidated balance sheets. The deferred contract costs are amortized to net sales in the consolidated statements of comprehensive income consistent with how the related deferred revenue is recognized. Refer to Note <em style="font: inherit;">11,</em> &#x201c;Product Warranty Obligations,&#x201d; to the consolidated financial statements for further information regarding the Company&#x2019;s extended warranties.&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">In addition to extended warranties, the Company offers other services, including remote monitoring, installation, maintenance, data center and telecom design and build, and&#xa0;grid services to utilities in certain&#xa0;circumstances. Total service revenues accounted for less than <em style="font: inherit;">3%</em>&#xa0;of revenue during the year ended <em style="font: inherit;"> December 31, 2022</em>.&#xa0;&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Refer to Note <em style="font: inherit;">7,</em> &#x201c;Segment Reporting,&#x201d; to the consolidated financial statements for the Company&#x2019;s disaggregated revenue disclosure. The information discussed above is applicable to each of the Company&#x2019;s product classes.</p></ix:nonNumeric><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:AdvertisingCostsPolicyTextBlock" id="c93268176" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Advertising and Co-Op Advertising</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Expenditures for advertising, included in selling and service expenses in the consolidated statements of comprehensive income, are expensed as incurred. Expenditures for advertising production costs are expensed when the related advertisement is <em style="font: inherit;">first</em> run. Expenditures for Co-Op advertising are expensed when claimed by the customer. Total expenditures for advertising were $<ix:nonFraction id="c93263560" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:AdvertisingExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">100,589</ix:nonFraction>, $<ix:nonFraction id="c93263561" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:AdvertisingExpense" scale="3" format="ixt:numdotdecimal" decimals="-4">66,660</ix:nonFraction>, and $<ix:nonFraction id="c93263562" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:AdvertisingExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">53,678</ix:nonFraction>&#xa0;for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ResearchAndDevelopmentExpensePolicy" id="c93268177" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Research and Development</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company expenses research and development costs as incurred. Total expenditures incurred for research and development were $<ix:nonFraction id="c93263565" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">159,774</ix:nonFraction>, $<ix:nonFraction id="c93263566" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">104,303</ix:nonFraction>, and $<ix:nonFraction id="c93263567" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">80,251</ix:nonFraction>&#xa0;for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" id="c93268178" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Foreign Currency Translation and Transactions</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Balance sheet amounts for non-U.S. Dollar functional currency subsidiaries&#xa0;are translated into U.S. Dollars at the rates of exchange in effect at the end of the fiscal year. Income and expenses incurred in a foreign currency are translated at the average rates of exchange in effect during the year. The related balance sheet translation adjustments are made directly to accumulated other comprehensive loss, a component of stockholders&#x2019; equity, in the consolidated balance sheets. Gains and losses from foreign currency transactions are recognized as incurred in the consolidated statements of comprehensive income.</p></ix:nonNumeric><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:FairValueOfFinancialInstrumentsPolicy" id="c93268179" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Fair Value of Financial Instruments</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">ASC <em style="font: inherit;">820</em>-<em style="font: inherit;">10,</em> <i>Fair Value Measurement</i><i>,</i> defines fair value, establishes a consistent framework for measuring fair value, and expands disclosure for each major asset and liability category measured at fair value on either a recurring basis or nonrecurring basis. ASC <em style="font: inherit;">820</em>-<em style="font: inherit;">10</em> clarifies that fair value is an exit price, representing the amount that would be received in the sale of an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. As a basis for considering such assumptions, the pronouncement establishes a <em style="font: inherit;">three</em>-tier fair value hierarchy, which prioritizes the inputs used in measuring fair value as follows: (Level <em style="font: inherit;">1</em>) observable inputs such as quoted prices in active markets; (Level <em style="font: inherit;">2</em>) inputs, other than the quoted prices in active markets, that are observable either directly or indirectly; and (Level <em style="font: inherit;">3</em>) unobservable inputs in which there is little or <em style="font: inherit;">no</em> market data, which require the reporting entity to develop its own assumptions.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company believes the carrying amount of its financial instruments (cash and cash equivalents, accounts receivable, accounts payable, accrued liabilities, short-term borrowings, and revolving facility borrowings), excluding Term Loan borrowings, approximates the fair value of these instruments based on their short-term nature. The fair value of the Term Loan B borrowing, which has&#xa0;a&#xa0;net carrying value of $<ix:nonFraction id="c93263579" contextRef="i_2022-12-31_LongtermDebtTypeAxis-TermLoanMember" unitRef="USD" name="us-gaap:LongTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">523,305</ix:nonFraction>, was approximately $<ix:nonFraction id="c93263580" contextRef="i_2022-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member" unitRef="USD" name="us-gaap:DebtInstrumentFairValue" scale="3" format="ixt:numdotdecimal" decimals="-4">516,750</ix:nonFraction> (Level <em style="font: inherit;">2</em>)&#xa0;at <em style="font: inherit;"> December 31, 2022</em>, as calculated based on independent valuations whose inputs and significant value drivers are observable. The fair value of Term Loan A approximates the carrying&#xa0;value.&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">46</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">For the fair value of the assets and liabilities measured on a recurring basis, refer to the fair value table in Note <em style="font: inherit;">5,</em> &#x201c;Derivative Instruments and Hedging Activities,&#x201d; to the consolidated financial statements. The fair value of all derivative contracts is classified as Level <em style="font: inherit;">2.</em> The valuation techniques used to measure the fair value of derivative contracts, all of which have counterparties with high credit ratings, were based on quoted market prices or model driven valuations using significant inputs derived from or corroborated by observable market data. The fair value of derivative contracts considers the Company&#x2019;s credit risk in accordance with ASC <em style="font: inherit;">820</em>-<em style="font: inherit;">10.</em></p></ix:nonNumeric><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><em style="font: inherit;"></em>&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i></i></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="gnrc:FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock" id="c93268180" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Contingent Consideration</i></b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Certain of the Company's business combinations involve potential payment of future consideration that is contingent upon the achievement of certain milestones. As part of purchase accounting, a&#xa0;liability is recorded for the estimated fair value of the contingent consideration on the acquisition date. The fair value of the contingent consideration is remeasured at each reporting period, and the change in fair value is recognized within general and administrative expenses in the Company's&#xa0;consolidated statements of comprehensive income. The&#xa0;fair value measurement of contingent consideration is typically categorized as a Level <em style="font: inherit;">3</em> liability, as the measurement amount is based primarily on significant inputs that are <em style="font: inherit;">not</em> observable in the market. The fair value measurement of ecobee's contingent consideration is categorized as a Level <em style="font: inherit;">1</em> liability, as a definitive payout agreement has been reached.&#xa0;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The fair value of contingent consideration as of <em style="font: inherit;"> December 31, 2022&#xa0;</em>and <em style="font: inherit;"> December 31, 2021&#xa0;</em>was $<ix:nonFraction id="c93263590" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">81,533</ix:nonFraction>&#xa0;and $<ix:nonFraction id="c93263591" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">146,759</ix:nonFraction>, respectively. At <em style="font: inherit;"> December 31, 2022, </em>the Company&#xa0;recorded<span style="color:#000000;"> $<ix:nonFraction id="c93263592" contextRef="i_2022-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="3" format="ixt:numdotdecimal" decimals="-5">49,500</ix:nonFraction>&#xa0;in other accrued liabilities and $<ix:nonFraction id="c93263593" contextRef="i_2022-12-31_BalanceSheetLocationAxis-OtherLongtermLiabilitiesMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">32,033</ix:nonFraction>&#xa0;in oth</span>er long-term liabilities in the consolidated balance sheets. At <em style="font: inherit;"> December 31, 2021, </em>the Company&#xa0;recorded $<ix:nonFraction id="c93263594" contextRef="i_2021-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">68,665</ix:nonFraction>&#xa0;in other accrued liabilities and $<ix:nonFraction id="c93263595" contextRef="i_2021-12-31_BalanceSheetLocationAxis-OtherLongtermLiabilitiesMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">78,094</ix:nonFraction>&#xa0;in other long-term liabilities in the consolidated balance sheets.&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The following table provides a reconciliation of the activity for contingent consideration:&#xa0;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock" id="c2284661" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Beginning balance, January 1, 2022</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263641" contextRef="i_2021-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilityMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">146,759</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Changes in fair value</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263642" contextRef="d_2022-01-01_2022-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilityMember" unitRef="USD" name="gnrc:BusinessCombinationContingentConsiderationGainLossChangeInFairValue" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">231</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Payment of contingent consideration (1)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263643" contextRef="d_2022-01-01_2022-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilityMember" unitRef="USD" name="gnrc:ContingentConsiderationPayments" scale="3" format="ixt:numdotdecimal" decimals="-5">63,800</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Present value interest accretion</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263644" contextRef="d_2022-01-01_2022-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilityMember" unitRef="USD" name="gnrc:BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion" scale="3" format="ixt:numdotdecimal" decimals="-3">1,974</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Currency translation</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93263645" contextRef="d_2022-01-01_2022-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilityMember" unitRef="USD" name="gnrc:BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">3,169</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Ending balance, December 31, 2022</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263646" contextRef="i_2022-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilityMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">81,533</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">(<em style="font: inherit;">1</em>)&#xa0; &#xa0;Includes payments of $<ix:nonFraction id="c93263597" contextRef="d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-AcquisitionOfOffGridEnergyMember" unitRef="USD" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" scale="3" format="ixt:numdotdecimal" decimals="-3">16,135</ix:nonFraction> in cash for the Off Grid acquisition, $<ix:nonFraction id="c93263598" contextRef="d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="gnrc:ContingentConsiderationSharePaymentsValue" scale="3" format="ixt:numdotdecimal" decimals="-3">47,123</ix:nonFraction>&#xa0;in shares of common stock for the ecobee acquisition, and $<ix:nonFraction id="c93263599" contextRef="d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" scale="3" format="ixt:numdotdecimal" decimals="-3">542</ix:nonFraction> in cash for the ecobee acquisition. The payment of common stock is accounted for as a non-cash item in the consolidated statement of cash flows.</p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:UseOfEstimates" id="c93268181" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Use of Estimates</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The preparation of the consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</p></ix:nonNumeric><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:DerivativesPolicyTextBlock" id="c93268182" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Derivative Instruments and Hedging Activities</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company records all derivatives in accordance with ASC <em style="font: inherit;">815,</em> <i>Derivatives and Hedging</i><i>,</i> which requires derivative instruments to be reported in the consolidated balance sheets at fair value and establishes criteria for designation and effectiveness of hedging relationships. The Company is exposed to market risk such as changes in commodity prices, foreign currencies and interest rates. The Company does <em style="font: inherit;">not</em> hold or issue derivative financial instruments for trading purposes.</p></ix:nonNumeric><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" id="c93268183" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>S</b><b>hare</b><b>-Based Compensation</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Share-based compensation expense, including stock options and restricted stock awards, is generally recognized on a straight-line basis over the vesting period based on the fair value of awards which are expected to vest. The fair value of all share-based awards is estimated on the date of grant. Refer to Note <em style="font: inherit;">17,</em> &#x201c;Share Plans,&#x201d; to the consolidated financial statements for further information on the Company&#x2019;s share-based compensation plans and accounting.</p></ix:nonNumeric><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="gnrc:AcquisitionRelatedCostsPolicyTextBlock" id="c93268184" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Acquisition related costs</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Acquisition related costs are external costs the Company incurs to affect a business combination including legal fees,&#xa0;professional and advisory&#xa0;services, transaction taxes such as stamp tax, and insurance premiums.&#xa0;The Company accounts for acquisition related costs as expense&#xa0;in the period&#xa0;in which the costs are incurred and the services are received.&#xa0;Total acquisition related costs&#xa0;were <span style="color:#000000;">$<ix:nonFraction id="c93263603" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">1,459</ix:nonFraction>,</span> $<ix:nonFraction id="c93263604" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">21,465</ix:nonFraction>, and $<ix:nonFraction id="c93263605" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">1,411</ix:nonFraction>&#xa0;for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b></b></p><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="c93268185" escape="true"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>New Accounting Pronouncements </b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Changes to GAAP are established by the Financial Accounting Standards Board (FASB) in the form of accounting standard updates (&#x201c;ASUs&#x201d;) to the FASB Accounting Standards Codification (ASC). ASUs&#xa0;<em style="font: inherit;">not</em>&#xa0;listed below were assessed and determined to be either&#xa0;<em style="font: inherit;">not</em>&#xa0;applicable or are&#xa0;<em style="font: inherit;">not</em>&#xa0;expected to have a material impact on the Company&#x2019;s consolidated financial statements.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Recently Adopted </i></b><b><i>Accounting Standards</i></b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> October&#xa0;</em><em style="font: inherit;">1,</em> <em style="font: inherit;">2022</em><i>,&#xa0;</i>the Company elected to early adopt&#xa0;ASU&#xa0;<em style="font: inherit;">2022</em>-<em style="font: inherit;">04</em><i>,&#xa0;Liabilities&#xa0;&#x2013; Supplier Finance Program: Disclosure of Supplier Finance Program Obligations</i>. This guidance was issued to enhance the transparency of supplier finance programs. The amendments in this update require that a buyer in a supplier finance program disclose sufficient information about the program to allow a user&#xa0;of&#xa0;financial statements to understand the program's nature, activity during the period, changes from period to period, and potential magnitude. The Company has <em style="font: inherit;">one</em> supplier finance program; however, the program magnitude&#xa0;is <em style="font: inherit;">not</em> material to the Company.</p></ix:nonNumeric><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">47</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude><b>&#xa0;</b></ix:exclude>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:BusinessCombinationDisclosureTextBlock" id="c2284662" escape="true">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">3.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Acquisitions</b><b> </b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><i>&#xa0;</i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i>Fiscal <em style="font: inherit;">2022</em></i></b></p>
   <div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
     &#xa0;
   </div>
   <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i>Acquisitions</i></b></p>
   <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</p>
   <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: justify;">On <em style="font: inherit;"> June 30, 2022,&#xa0;</em>the Company acquired EEC. Headquartered in Marlborough, Massachusetts, EEC is an industrial generator distributor as well as a provider of&#xa0;data center and telecom facility design, build, maintenance, and repair services.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> October 3, 2022, </em>the Company acquired Blue Pillar, an industrial IoT platform developer that designs, deploys, and manages industrial IoT network software solutions to enable distributed energy generation monitoring and control.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The&#xa0;combined purchase price for these acquisitions was $<span style="color:#000000;"><ix:nonFraction id="c93263649" contextRef="d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-EECAndBluePillarMember" unitRef="USD" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" scale="3" format="ixt:numdotdecimal" decimals="-3">25,654</ix:nonFraction>, net of cash acquired and</span>&#xa0;funded solely through cash on hand.&#xa0;The Company recorded its preliminary purchase price allocation for EEC and Blue Pillar during the <em style="font: inherit;">second</em>&#xa0;quarter and <em style="font: inherit;">fourth</em> quarter&#xa0;of <em style="font: inherit;">2022,</em> respectively, based on its estimates of the fair value of the acquired assets and assumed liabilities. The accompanying&#xa0;consolidated financial statements include the results of these <em style="font: inherit;">two</em> acquired businesses since the dates of acquisition through <em style="font: inherit;"> December 31, 2022.&#xa0;</em></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><i><b>Fiscal <em style="font: inherit;">2021</em></b></i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Acquisition of Deep Sea</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> June&#xa0;</em><em style="font: inherit;">1,</em> <em style="font: inherit;">2021,</em> the Company acquired Deep Sea&#xa0;for a purchase price, net of cash acquired, of $<ix:nonFraction id="c93263657" contextRef="d_2021-06-01_2021-06-01_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" scale="3" format="ixt:numdotdecimal" decimals="-5">420,700</ix:nonFraction>. Headquartered in Hunmanby, United Kingdom, Deep Sea is a designer and manufacturer of a diverse suite of flexible control solutions&#xa0;focused on the global power generation and transfer switch markets.&#xa0;The acquisition purchase price was funded&#xa0;solely through cash on hand.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The Company finalized the Deep Sea&#xa0;purchase price allocation during the <em style="font: inherit;">second</em> quarter of <em style="font: inherit;">2022</em> based on its estimates of the fair value of the acquired assets and assumed liabilities. The finalization did <em style="font: inherit;">not</em> result in material adjustments to the Company's preliminary estimates. As a result, the Company recorded&#xa0;$<ix:nonFraction id="c93263661" contextRef="i_2021-06-01_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="gnrc:BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">437,874</ix:nonFraction>&#xa0;of intangible assets, including $<ix:nonFraction id="c93263662" contextRef="i_2021-06-01_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">263,604</ix:nonFraction>&#xa0;of goodwill recorded in the International&#xa0;segment, as of the acquisition date. The goodwill ascribed to this&#xa0;acquisition is <em style="font: inherit;">not</em> deductible for tax purposes. The accompanying consolidated financial statements include the results of Deep Sea&#xa0;from the date of acquisition through <em style="font: inherit;"> December&#xa0;</em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022.</em>&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><b>Acquisition of Chilicon</b></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> July&#xa0;</em><em style="font: inherit;">2,</em> <em style="font: inherit;">2021,</em> the Company acquired Chilicon for a purchase price, net of cash acquired, of $<ix:nonFraction id="c93263668" contextRef="d_2021-07-02_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember" unitRef="USD" name="us-gaap:BusinessCombinationConsiderationTransferred1" scale="3" format="ixt:numdotdecimal" decimals="-3">61,129</ix:nonFraction> inclusive of estimated contingent consideration.&#xa0;Based in Los Angeles, California, Chilicon is a designer and provider of grid-interactive microinverter and monitoring solutions for the solar market. Chilicon's power inversion and monitoring system technologies maximize photovoltaic (solar power) system production, lower installer operational cost, and promote end-user satisfaction. Total consideration&#xa0;consisted of the following:&#xa0;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="gnrc:ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock" id="c47C6932A-7045-4819-9290-0EC8D30C7A1D" escape="true" continuedAt="DA7FF982-6714-4E6C-8160-38C0D3790B99">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash paid at closing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263755" contextRef="d_2021-07-02_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember" unitRef="USD" name="us-gaap:PaymentsToAcquireBusinessesGross" scale="3" format="ixt:numdotdecimal" decimals="-3">11,821</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred cash payment (1)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263756" contextRef="d_2021-07-02_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember" unitRef="USD" name="gnrc:PaymentsToAcquireBusinessesDeferredCashPayment" scale="3" format="ixt:numdotdecimal" decimals="-6">6,000</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Common stock issued at closing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263757" contextRef="d_2021-07-02_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember" unitRef="USD" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" scale="3" format="ixt:numdotdecimal" decimals="-6">12,000</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Contingent consideration (2)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263758" contextRef="d_2021-07-02_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember" unitRef="USD" name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" scale="3" format="ixt:numdotdecimal" decimals="-3">31,308</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total purchase price</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263759" contextRef="d_2021-07-02_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember" unitRef="USD" name="us-gaap:BusinessCombinationConsiderationTransferred1" scale="3" format="ixt:numdotdecimal" decimals="-3">61,129</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width: 25px; vertical-align: top;">(<em style="font: inherit;">1</em>)</td><td style="vertical-align: top; width: 1730px;">Payable on the <em style="font: inherit;">third</em> business day after <em style="font: inherit;"> December 31, 2023.</em></td></tr>
<tr><td style="width: 25px; vertical-align: top;">(<em style="font: inherit;">2</em>)</td><td style="vertical-align: top; width: 1730px;">Payable in common stock issued upon achievement of certain performance targets within <em style="font: inherit;">45</em> calendar days following the conclusion of the contingent consideration period, <em style="font: inherit;"> December 31, 2025.&#xa0;</em></td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company finalized the Chilicon&#xa0;purchase price allocation during the <em style="font: inherit;">second</em> quarter of <em style="font: inherit;">2022</em> based on its estimates of the fair value of the acquired assets and assumed liabilities. The finalization did <em style="font: inherit;">not</em> result in material adjustments to the Company's preliminary estimates. As a result, the Company recorded&#xa0;$<ix:nonFraction id="c93263676" contextRef="i_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember" unitRef="USD" name="gnrc:BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">70,174</ix:nonFraction>&#xa0;of intangible assets, including $<ix:nonFraction id="c93263677" contextRef="i_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">36,974</ix:nonFraction>&#xa0;of goodwill recorded in the Domestic&#xa0;segment,&#xa0;as of the acquisition date. The goodwill ascribed to the Chilicon&#xa0;acquisition&#xa0;is <em style="font: inherit;">not</em> deductible for tax purposes.&#xa0;The accompanying consolidated financial statements include the results of Chilicon from&#xa0;the date&#xa0;of acquisition through <em style="font: inherit;"> December&#xa0;</em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022.</em>&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><b>Acquisition of Off Grid Energy</b></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> September&#xa0;</em><em style="font: inherit;">1,</em> <em style="font: inherit;">2021,</em> the Company acquired Off Grid Energy&#xa0;for a purchase price of $<ix:nonFraction id="c93263683" contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-AcquisitionOfOffGridEnergyMember" unitRef="USD" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" scale="3" format="ixt:numdotdecimal" decimals="-3">56,949</ix:nonFraction>, net of cash acquired and inclusive of the then estimated contingent consideration&#xa0;of $<ix:nonFraction id="c93263684" contextRef="i_2021-09-01_BusinessAcquisitionAxis-AcquisitionOfOffGridEnergyMember" unitRef="USD" name="us-gaap:BusinessCombinationContingentConsiderationLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">29,054</ix:nonFraction>&#xa0;payable in cash based on contingent consideration&#xa0;period performance.&#xa0;The contingent consideration was&#xa0;paid during the <em style="font: inherit;">third</em> quarter of <em style="font: inherit;">2022</em>&#xa0;in the amount of $<ix:nonFraction id="c93263687" contextRef="d_2022-07-01_2022-09-30_BusinessAcquisitionAxis-AcquisitionOfOffGridEnergyMember" unitRef="USD" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" scale="3" format="ixt:numdotdecimal" decimals="-3">16,135</ix:nonFraction>. Headquartered in Rugby, United Kingdom,&#xa0;Off Grid Energy&#xa0;is a designer and manufacturer of industrial-grade mobile energy storage systems.&#xa0;The acquisition purchase price was funded&#xa0;through cash on hand.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The Company finalized the Off Grid Energy&#xa0;purchase price allocation during the <em style="font: inherit;">third</em>&#xa0;quarter of <em style="font: inherit;">2022</em> based on its&#xa0;estimates of the fair value of the acquired assets and assumed liabilities. The finalization did <em style="font: inherit;">not</em> result in material adjustments to the Company's preliminary estimates.&#xa0;As a result, the Company recorded&#xa0;$<ix:nonFraction id="c93263691" contextRef="i_2021-09-01_BusinessAcquisitionAxis-AcquisitionOfOffGridEnergyMember" unitRef="USD" name="gnrc:BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">56,076</ix:nonFraction>&#xa0;of intangible assets, including $<ix:nonFraction id="c93263692" contextRef="i_2021-09-01_BusinessAcquisitionAxis-AcquisitionOfOffGridEnergyMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">21,531</ix:nonFraction>&#xa0;of goodwill recorded in the International&#xa0;segment, as of the acquisition date. The goodwill ascribed to this&#xa0;acquisition is <em style="font: inherit;">not</em> deductible for tax purposes. The accompanying&#xa0;consolidated financial statements include the results of Off Grid Energy&#xa0;from the date of acquisition through <em style="font: inherit;"> December&#xa0;</em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022.</em>&#xa0; &#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><b>Acquisition of ecobee</b></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> December 1, 2021, </em>the Company acquired ecobee for a purchase price, net of cash acquired, of $<ix:nonFraction id="c93263696" contextRef="d_2021-12-01_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" scale="3" format="ixt:numdotdecimal" decimals="-3">735,577</ix:nonFraction> inclusive of estimated contingent consideration. Headquartered in Toronto, Canada,&#xa0;ecobee is a leader in sustainable home technology solutions including smart thermostats that deliver significant energy savings, security and peace of mind.&#xa0;The&#xa0;purchase price&#xa0;consisted of the following:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <ix:continuation id="DA7FF982-6714-4E6C-8160-38C0D3790B99">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash paid at closing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263760" contextRef="d_2021-12-01_2021-12-01_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:PaymentsToAcquireBusinessesGross" scale="3" format="ixt:numdotdecimal" decimals="-3">225,403</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Common stock issued at closing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263761" contextRef="d_2021-12-01_2021-12-01_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" scale="3" format="ixt:numdotdecimal" decimals="-3">420,774</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Contingent consideration (1)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263762" contextRef="d_2021-12-01_2021-12-01_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred" scale="3" format="ixt:numdotdecimal" decimals="-5">89,400</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total purchase price</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263763" contextRef="d_2021-12-01_2021-12-01_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:BusinessCombinationConsiderationTransferred1" scale="3" format="ixt:numdotdecimal" decimals="-3">735,577</ix:nonFraction></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:continuation>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;">(<em style="font: inherit;">1</em>)</td><td style="vertical-align:top;">To be paid in the form of&#xa0;common stock issued upon achievement of certain performance targets following the end of <em style="font: inherit;">two</em> contingent consideration periods, <em style="font: inherit;">one</em> ended <em style="font: inherit;"> June 30, 2022, </em>and <em style="font: inherit;">one</em> originally ending <em style="font: inherit;"> June 30, 2023.</em></td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The contingent consideration for the period ended&#xa0;<em style="font: inherit;"> June 30, 2022, </em>was paid during the <em style="font: inherit;">fourth</em> quarter of <em style="font: inherit;">2022</em> in the amount of $<ix:nonFraction id="c93263703" contextRef="d_2022-10-01_2022-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="gnrc:ContingentConsiderationSharePaymentsValue" scale="3" format="ixt:numdotdecimal" decimals="-3">47,123</ix:nonFraction>&#xa0;in shares of common stock, or <ix:nonFraction id="c93263704" contextRef="d_2022-10-01_2022-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="Share" name="gnrc:ContingentConsiderationSharePaymentShares" scale="0" format="ixt:numdotdecimal" decimals="INF">196,531</ix:nonFraction> shares of common stock, and $<ix:nonFraction id="c93263705" contextRef="d_2022-10-01_2022-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" scale="3" format="ixt:numdotdecimal" decimals="-3">542</ix:nonFraction>&#xa0;was paid with cash on hand.&#xa0;Additionally, during the <em style="font: inherit;">fourth</em> quarter of <em style="font: inherit;">2022,</em> the Company entered into a definitive agreement to accelerate the measurement&#xa0;and payment for the remaining contingent consideration&#xa0;period ending <em style="font: inherit;"> June 30, 2023. </em>The parties agreed to a final payment amount of $<ix:nonFraction id="c93263708" contextRef="d_2023-01-01_2023-03-31_BusinessAcquisitionAxis-EcobeeIncMember_StatementScenarioAxis-ScenarioForecastMember" unitRef="USD" name="gnrc:ContingentConsiderationSharePaymentsValue" scale="3" format="ixt:numdotdecimal" decimals="-6">45,000</ix:nonFraction>&#xa0;issued with <ix:nonFraction id="c93263709" contextRef="d_2023-01-01_2023-03-31_BusinessAcquisitionAxis-EcobeeIncMember_StatementScenarioAxis-ScenarioForecastMember" unitRef="Share" name="gnrc:ContingentConsiderationSharePaymentShares" scale="0" format="ixt:numdotdecimal" decimals="INF">466,188</ix:nonFraction> shares of&#xa0;common stock during the <em style="font: inherit;">first</em> quarter of <em style="font: inherit;">2023.</em></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company finalized the ecobee&#xa0;purchase price allocation during the <em style="font: inherit;">fourth</em>&#xa0;quarter of <em style="font: inherit;">2022</em> based on its&#xa0;estimates of the fair value of the acquired assets and assumed liabilities. The finalization did <em style="font: inherit;">not</em> result in material adjustments to the Company's preliminary estimates.&#xa0;As a result, the Company recorded&#xa0;$<ix:nonFraction id="c93263715" contextRef="i_2021-12-01_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="gnrc:BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">806,131</ix:nonFraction>&#xa0;of intangible assets, including $<ix:nonFraction id="c93263716" contextRef="i_2021-12-01_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">248,231</ix:nonFraction>&#xa0;of goodwill recorded in the Domestic&#xa0;segment, as of the acquisition date. A portion of the&#xa0;goodwill ascribed to this&#xa0;acquisition is&#xa0;deductible for tax purposes. The accompanying consolidated financial statements include the results of ecobee&#xa0;from the date of acquisition through <em style="font: inherit;"> December&#xa0;</em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022.</em>&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><b>Other Acquisitions</b></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> September 1, 2021, </em>the Company acquired Apricity Code, an advanced engineering and product design company located in Bend, Oregon.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> October 1, 2021, </em>the Company acquired Tank Utility,&#xa0;a provider of IoT propane tank monitoring that enables the optimization of propane fuel logistics.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The&#xa0;combined purchase price for these <em style="font: inherit;">two</em> acquisitions was $<ix:nonFraction id="c93263720" contextRef="d_2021-01-01_2021-12-31_BusinessAcquisitionAxis-Other2021AcquisitionsMember" unitRef="USD" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" scale="3" format="ixt:numdotdecimal" decimals="-3">29,945</ix:nonFraction>, net of cash acquired, and was&#xa0;funded solely through cash on hand.&#xa0;The Company finalized its purchase price allocation during the <em style="font: inherit;">third</em>&#xa0;quarter of <em style="font: inherit;">2022</em> based on the Company's estimates of the fair value of the acquired assets and assumed liabilities. The finalization did <em style="font: inherit;">not</em> result in material adjustments to the Company's preliminary estimates. The accompanying consolidated financial statements include the results of these <em style="font: inherit;">two</em> acquired businesses since the dates of acquisition through <em style="font: inherit;"> December&#xa0;</em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022.</em>&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">48</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink">
       <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i><b>Fiscal <em style="font: inherit;">2020</em></b></i></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Acquisition of Enbala</b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>&#xa0;</i></b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> October&#xa0;</em><em style="font: inherit;">7,</em> <em style="font: inherit;">2020,</em> the Company acquired Enbala&#xa0;for a purchase price, net of cash acquired, of $<ix:nonFraction id="c93263731" contextRef="d_2020-10-07_2020-10-07_BusinessAcquisitionAxis-AcquisitionOfEnbalaMember" unitRef="USD" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" scale="3" format="ixt:numdotdecimal" decimals="-3">41,982</ix:nonFraction>. Enbala is <em style="font: inherit;">one</em> of the leading providers of distributed energy optimization and control software that helps support the operational stability of the world's power grids. The acquisition purchase price was funded&#xa0;solely through cash on hand.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company finalized its&#xa0;purchase price allocation during the <em style="font: inherit;">third</em>&#xa0;quarter of <em style="font: inherit;">2021</em>&#xa0;based on its estimates of the fair value of the acquired assets and assumed liabilities. The finalization did <em style="font: inherit;">not</em> result in material adjustments to the Company's preliminary estimates. As a result, the Company recorded&#xa0;$<ix:nonFraction id="c93263736" contextRef="i_2020-10-07_BusinessAcquisitionAxis-AcquisitionOfEnbalaMember" unitRef="USD" name="gnrc:BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">46,338</ix:nonFraction>&#xa0;of intangible assets, including $<ix:nonFraction id="c93263737" contextRef="i_2020-10-07_BusinessAcquisitionAxis-AcquisitionOfEnbalaMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">27,038</ix:nonFraction>&#xa0;of goodwill recorded in the Domestic segment, as of the acquisition date. A portion&#xa0;of the goodwill ascribed to this&#xa0;acquisition is&#xa0;deductible for tax purposes. The accompanying&#xa0;consolidated financial statements include the results of Enbala&#xa0;from the date of acquisition through <em style="font: inherit;"> December 31, 2022.&#xa0;</em></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Other Acquisitions</b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">On&#xa0;<em style="font: inherit;"> July 1, 2020,</em><i>&#xa0;</i>the Company acquired Energy Systems, its&#xa0;industrial distributor in northern California.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">On&#xa0;<em style="font: inherit;"> September 1, 2020,&#xa0;</em>the Company acquired Mean Green, a designer and manufacturer of commercial grade, battery-powered turf care products.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The&#xa0;combined purchase price for these acquisitions was $<ix:nonFraction id="c93263738" contextRef="d_2020-07-01_2020-09-30_BusinessAcquisitionAxis-Other2020AcquisitionsMember" unitRef="USD" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" scale="3" format="ixt:numdotdecimal" decimals="-3">22,958</ix:nonFraction>&#xa0;and was&#xa0;funded solely through cash on hand.&#xa0;The Company finalized its&#xa0;purchase price allocation for these <em style="font: inherit;">two</em> acquisitions during the <em style="font: inherit;">third</em>&#xa0;quarter of <em style="font: inherit;">2021</em>&#xa0;based on its estimates of the fair value of the acquired assets and assumed liabilities. The finalization did <em style="font: inherit;">not</em> result in material adjustments to the Company's preliminary estimates. The accompanying&#xa0;consolidated financial statements include the results of the acquired businesses since the dates of acquisition through <em style="font: inherit;"> December 31, 2022.&#xa0;</em></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <ix:exclude>
    <div class="PGFTR" style="text-align: center; width: 100%">
     <div class="hf-row">
      <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       <em style="font: inherit;">49</em>
      </div>
     </div>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <div class="hf-row">
      <div class="hf-cell TOCLink">
       <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
      </div>
     </div>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>Summary Purchase Price Allocations</i></b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The fair values assigned to certain assets acquired and liabilities assumed for all acquisitions completed during the reporting period, as of the acquisition dates, are as follows:</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" id="c2284665" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022 Acquisitions</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021 Acquisitions</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020 Acquisitions</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>&#xa0;</b></td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Deep Sea</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>ecobee</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>All Other</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>&#xa0;</b></td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#xa0;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Accounts receivable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263765" contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" scale="3" format="ixt:numdotdecimal" decimals="-3">12,656</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263767" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" scale="3" format="ixt:numdotdecimal" decimals="-3">9,574</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263769" contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" scale="3" format="ixt:numdotdecimal" decimals="-3">23,337</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263771" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" scale="3" format="ixt:numdotdecimal" decimals="-3">13,852</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263773" contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" scale="3" format="ixt:numdotdecimal" decimals="-3">46,763</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263775" contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" scale="3" format="ixt:numdotdecimal" decimals="-3">5,094</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263777" contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" scale="3" format="ixt:numdotdecimal" decimals="-3">3,138</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263779" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" scale="3" format="ixt:numdotdecimal" decimals="-4">9,970</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263781" contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" scale="3" format="ixt:numdotdecimal" decimals="-3">7,258</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263783" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" scale="3" format="ixt:numdotdecimal" decimals="-3">7,034</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263785" contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" scale="3" format="ixt:numdotdecimal" decimals="-3">24,262</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263787" contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" scale="3" format="ixt:numdotdecimal" decimals="-3">3,575</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Prepaid expenses and other current assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263788" contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">4,707</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263789" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">1,181</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263790" contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">5,689</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263791" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">6,594</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263792" contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">13,464</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263793" contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">858</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Property and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263794" contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">708</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263795" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">8,838</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263796" contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">3,588</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263797" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-4">480</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263798" contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">12,906</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263799" contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">635</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263800" contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">8,711</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263801" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-4">174,270</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263802" contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-5">557,900</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263803" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">81,171</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263804" contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">813,341</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263805" contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">26,235</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Goodwill</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263806" contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-4">6,870</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263807" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">263,604</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263808" contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">248,231</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263809" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">83,859</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263810" contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">595,694</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263811" contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">40,395</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263812" contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263813" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263814" contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" scale="3" format="ixt:numdotdecimal" decimals="-4">40,020</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263815" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">5,694</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263816" contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">45,714</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263817" contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Other assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263818" contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">1,953</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263819" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">151</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263820" contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">9,289</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263821" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">8,526</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263822" contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">17,966</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263823" contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">1,122</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total assets acquired</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263824" contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember" unitRef="USD" name="gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">38,743</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263825" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">467,588</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263826" contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">895,312</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263827" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember" unitRef="USD" name="gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-4">207,210</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263828" contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" unitRef="USD" name="gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-4">1,570,110</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263829" contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" unitRef="USD" name="gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">77,914</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Accounts payable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263830" contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" scale="3" format="ixt:numdotdecimal" decimals="-3">1,479</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263831" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" scale="3" format="ixt:numdotdecimal" decimals="-3">8,998</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263832" contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" scale="3" format="ixt:numdotdecimal" decimals="-3">25,968</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263833" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" scale="3" format="ixt:numdotdecimal" decimals="-3">7,473</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263834" contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" scale="3" format="ixt:numdotdecimal" decimals="-3">42,439</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263835" contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" scale="3" format="ixt:numdotdecimal" decimals="-3">4,088</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Accrued wages and employee benefits</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263836" contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember" unitRef="USD" name="gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits" scale="3" format="ixt:numdotdecimal" decimals="-3">1,429</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263837" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits" scale="3" format="ixt:numdotdecimal" decimals="-3">2,106</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263838" contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits" scale="3" format="ixt:numdotdecimal" decimals="-3">1,354</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263839" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember" unitRef="USD" name="gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits" scale="3" format="ixt:numdotdecimal" decimals="-3">872</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263840" contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" unitRef="USD" name="gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits" scale="3" format="ixt:numdotdecimal" decimals="-3">4,332</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263841" contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" unitRef="USD" name="gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits" scale="3" format="ixt:numdotdecimal" decimals="-5">700</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Other accrued liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263842" contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" scale="3" format="ixt:numdotdecimal" decimals="-3">7,934</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263843" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" scale="3" format="ixt:numdotdecimal" decimals="-3">1,737</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263844" contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" scale="3" format="ixt:numdotdecimal" decimals="-3">19,898</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263845" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" scale="3" format="ixt:numdotdecimal" decimals="-3">18,258</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263846" contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" scale="3" format="ixt:numdotdecimal" decimals="-3">39,893</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263847" contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" scale="3" format="ixt:numdotdecimal" decimals="-3">2,151</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Short-term borrowings</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263848" contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember" unitRef="USD" name="gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263849" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263850" contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263851" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember" unitRef="USD" name="gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings" scale="3" format="ixt:numdotdecimal" decimals="-5">800</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263852" contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" unitRef="USD" name="gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings" scale="3" format="ixt:numdotdecimal" decimals="-5">800</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263853" contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" unitRef="USD" name="gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Current portion of long-term borrowings and finance lease obligations</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263854" contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263855" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263856" contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263857" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">233</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263858" contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">233</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263859" contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263860" contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-4">1,090</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263861" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">33,957</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263862" contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">78,753</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263863" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-4">19,930</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263864" contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-4">132,640</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263865" contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">3,827</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Other long-term liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263866" contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" scale="3" format="ixt:numdotdecimal" decimals="-3">1,157</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263867" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" scale="3" format="ixt:numdotdecimal" decimals="-4">90</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263868" contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" scale="3" format="ixt:numdotdecimal" decimals="-3">33,762</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263869" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" scale="3" format="ixt:numdotdecimal" decimals="-3">9,997</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263870" contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" scale="3" format="ixt:numdotdecimal" decimals="-3">43,849</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263871" contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" scale="3" format="ixt:numdotdecimal" decimals="-3">2,208</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Long-term debt</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263872" contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263873" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263874" contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263875" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">1,624</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263876" contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">1,624</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263877" contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Net assets acquired</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263878" contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" scale="3" format="ixt:numdotdecimal" decimals="-3">25,654</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263879" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" scale="3" format="ixt:numdotdecimal" decimals="-5">420,700</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263880" contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" scale="3" format="ixt:numdotdecimal" decimals="-3">735,577</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263881" contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" scale="3" format="ixt:numdotdecimal" decimals="-3">148,023</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263882" contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" scale="3" format="ixt:numdotdecimal" decimals="-5">1,304,300</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263883" contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" unitRef="USD" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" scale="3" format="ixt:numdotdecimal" decimals="-4">64,940</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The allocations of the purchase price to identifiable assets and liabilities for the&#xa0;<em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em> acquisitions are based on the final valuations performed to determine the fair value of the net assets as of their respective acquisition dates.&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">50</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude><b><i>&#xa0;</i></b></ix:exclude>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b><i>Pro Forma Information</i></b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following unaudited pro forma information of the Company gives effect to all acquisitions as though the transactions had occurred on <em style="font: inherit;"> January 1, 2020.&#xa0;</em>Refer to Note <em style="font: inherit;">1,</em> &#x201c;Description of Business,&#x201d; for further information on the acquisitions included in the table.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:BusinessAcquisitionProFormaInformationNonrecurringAdjustmentsTableTextBlock" id="c2284666" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net Sales:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">As reported</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263891" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">4,564,737</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263892" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">3,737,184</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263893" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-5">2,485,200</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Pro forma</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263894" contextRef="d_2022-01-01_2022-12-31_StatementScenarioAxis-ProFormaMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">4,593,485</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263895" contextRef="d_2021-01-01_2021-12-31_StatementScenarioAxis-ProFormaMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-4">3,932,250</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263896" contextRef="d_2020-01-01_2020-12-31_StatementScenarioAxis-ProFormaMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">2,764,363</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to Generac Holdings Inc.:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">As reported</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263898" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">399,502</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263899" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">550,494</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263900" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">350,576</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Pro forma (1)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263901" contextRef="d_2022-01-01_2022-12-31_StatementScenarioAxis-ProFormaMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-4">402,670</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263902" contextRef="d_2021-01-01_2021-12-31_StatementScenarioAxis-ProFormaMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">462,903</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263903" contextRef="d_2020-01-01_2020-12-31_StatementScenarioAxis-ProFormaMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">267,376</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to Generac Holdings Inc. per common share - diluted</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">As reported</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263905" contextRef="d_2022-01-01_2022-12-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">5.42</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263906" contextRef="d_2021-01-01_2021-12-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">8.30</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263907" contextRef="d_2020-01-01_2020-12-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">5.48</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Pro forma</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263908" contextRef="d_2022-01-01_2022-12-31_StatementScenarioAxis-ProFormaMember" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">5.47</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263909" contextRef="d_2021-01-01_2021-12-31_StatementScenarioAxis-ProFormaMember" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">6.94</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263910" contextRef="d_2020-01-01_2020-12-31_StatementScenarioAxis-ProFormaMember" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">4.11</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#xa0;</td><td style="width:18pt;vertical-align:top;">(<em style="font: inherit;">1</em>)</td><td style="vertical-align:top;">Includes additional pro forma intangible amortization from all acquisitions as though the transactions had occurred on <em style="font: inherit;"> January 1, 2020 </em>of $<ix:nonFraction id="c93263749" contextRef="d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-AllAcquisitionsMember" unitRef="USD" name="gnrc:ProformaAmortizationOfIntangibleAssets" scale="6" format="ixt:numdotdecimal" decimals="-6">941</ix:nonFraction>, $<ix:nonFraction id="c93263750" contextRef="d_2021-01-01_2021-12-31_BusinessAcquisitionAxis-AllAcquisitionsMember" unitRef="USD" name="gnrc:ProformaAmortizationOfIntangibleAssets" scale="6" format="ixt:numdotdecimal" decimals="-6">68,247</ix:nonFraction>, and $<ix:nonFraction id="c93263751" contextRef="d_2020-01-01_2020-12-31_BusinessAcquisitionAxis-AllAcquisitionsMember" unitRef="USD" name="gnrc:ProformaAmortizationOfIntangibleAssets" scale="6" format="ixt:numdotdecimal" decimals="-6">84,151</ix:nonFraction> for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021,</em> and <em style="font: inherit;">2020,</em>&#xa0;respectively.</td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">This unaudited pro forma information is presented for informational purposes only and is <em style="font: inherit;">not</em> necessarily indicative of the results of operations that actually would have been achieved had the acquisitions been consummated on <em style="font: inherit;"> January 1, 2020.</em></p>
  </ix:nonNumeric>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="gnrc:RedeemableNoncontrollingInterestTextBlock" id="c2284667" escape="true">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
    <tbody>
     <tr>
      <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">4.</em></b></p> </td>
      <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Redeemable Noncontrolling Interest</b></p> </td>
     </tr>

    </tbody>
   </table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> March 1, 2016, </em>the Company acquired a <ix:nonFraction id="c93263912" contextRef="i_2016-03-01_BusinessAcquisitionAxis-PramacMember" unitRef="Pure" name="us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired" scale="-2" format="ixt:numdotdecimal" decimals="2">65</ix:nonFraction>% ownership interest in PR Industrial S.r.l. and its subsidiaries (Pramac). The <ix:nonFraction id="c93263913" contextRef="i_2016-03-01_OwnershipAxis-PramacMember" unitRef="Pure" name="us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners" scale="-2" format="ixt:numdotdecimal" decimals="2">35</ix:nonFraction>% noncontrolling interest in Pramac had an acquisition date fair value of $<ix:nonFraction id="c93263914" contextRef="i_2016-03-01_BusinessAcquisitionAxis-PramacMember" unitRef="USD" name="us-gaap:RedeemableNoncontrollingInterestEquityFairValue" scale="3" format="ixt:numdotdecimal" decimals="-3">34,253</ix:nonFraction> and was recorded as a redeemable noncontrolling interest in the consolidated balance sheet, as the noncontrolling interest holder had the right to require the Company to redeem its interest in Pramac. In <em style="font: inherit;"> February 2019, </em>the Company amended its agreement with the noncontrolling interest holder of Pramac, extending the agreement by <span style="-sec-ix-hidden:c93263915">five</span> years, allowing the Company to exercise its call option rights in partial increments at certain times during the <em style="font: inherit;">five</em>-year period, and providing that the noncontrolling interest holder <em style="font: inherit;">no</em> longer held&#xa0;the right to put its shares to the Company until <em style="font: inherit;"> April 1, 2021. </em>The put and call option price is based on a multiple of earnings, subject to a floor and the terms of the acquisition agreement, as amended. In <em style="font: inherit;"> May 2021, </em>the Company exercised its call option rights and paid a purchase price of $<ix:nonFraction id="c93263918" contextRef="d_2021-05-01_2021-05-31_BusinessAcquisitionAxis-PramacMember" unitRef="USD" name="us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">27,164</ix:nonFraction> to purchase an additional <ix:nonFraction id="c93263919" contextRef="i_2021-05-31_BusinessAcquisitionAxis-PramacMember" unitRef="Pure" name="us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired" scale="-2" format="ixt:numdotdecimal" decimals="2">15</ix:nonFraction>% ownership interest in Pramac, bringing the Company's total ownership interest&#xa0;to <ix:nonFraction id="c93263920" contextRef="i_2021-05-31_BusinessAcquisitionAxis-PramacMember" unitRef="Pure" name="us-gaap:BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage" scale="-2" format="ixt:numdotdecimal" decimals="1">80</ix:nonFraction>%. The Company still holds its call option right to purchase the remaining <ix:nonFraction id="c93263921" contextRef="i_2021-05-31_OwnershipAxis-PramacMember" unitRef="Pure" name="us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners" scale="-2" format="ixt:numdotdecimal" decimals="1">20</ix:nonFraction>% ownership interest in partial increments over the next <span style="-sec-ix-hidden:c93263922">two</span>&#xa0;years.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">51</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;&#xa0;</ix:exclude>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> February 1, 2019, </em>the Company acquired a <ix:nonFraction id="c93263924" contextRef="i_2019-02-01_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember" unitRef="Pure" name="us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired" scale="-2" format="ixt:numdotdecimal" decimals="2">51</ix:nonFraction>% ownership interest in Captiva Energy Solutions, Ltd (Captiva). The <ix:nonFraction id="c93263925" contextRef="i_2019-02-01_OwnershipAxis-CaptivaEnergySolutionsMember" unitRef="Pure" name="us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners" scale="-2" format="ixt:numdotdecimal" decimals="2">49</ix:nonFraction>% noncontrolling interest in Captiva had&#xa0;an acquisition date fair value of $<ix:nonFraction id="c93263926" contextRef="i_2019-02-01_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember" unitRef="USD" name="us-gaap:RedeemableNoncontrollingInterestEquityFairValue" scale="3" format="ixt:numdotdecimal" decimals="-3">3,165</ix:nonFraction> and was recorded as a redeemable noncontrolling interest in the consolidated balance sheet, as the noncontrolling interest holder had&#xa0;the right to require the Company to redeem its interest in Captiva. The noncontrolling interest holder has a put option to sell his interest to the Company any time after <span style="-sec-ix-hidden:c93263927">five</span> years from the date of acquisition, or earlier upon the occurrence of certain circumstances. Further, the Company has a call option that it <em style="font: inherit;"> may </em>redeem any time after <span style="-sec-ix-hidden:c93263928">five</span> years from the date of acquisition, or earlier upon the occurrence of certain circumstances. The put and call option price is based on a multiple of earnings, subject to the terms of the acquisition agreement.&#xa0;In <em style="font: inherit;"> March 2022, </em>the Company signed an agreement to purchase an additional <ix:nonFraction id="c93263929" contextRef="i_2022-03-31_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember" unitRef="Pure" name="us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired" scale="-2" format="ixt:numdotdecimal" decimals="2">15</ix:nonFraction>% ownership interest in Captiva for a purchase price of $<ix:nonFraction id="c93263930" contextRef="d_2022-03-01_2022-03-31_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember" unitRef="USD" name="us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">461</ix:nonFraction>, bringing&#xa0;the Company's total ownership interest in Captiva to <ix:nonFraction id="c93263931" contextRef="i_2022-05-31_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember" unitRef="Pure" name="us-gaap:BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage" scale="-2" format="ixt:numdotdecimal" decimals="2">66</ix:nonFraction>%.&#xa0;In <em style="font: inherit;"> May 2022, </em>the Company signed an amendment to the purchase agreement resulting in a revised purchase price of $<ix:nonFraction id="c93263932" contextRef="d_2022-05-01_2022-05-31_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember" unitRef="USD" name="us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">375</ix:nonFraction>, which&#xa0;was paid with cash on hand. The Company still holds its call option&#xa0;right&#xa0;to purchase the remaining <ix:nonFraction id="c93263933" contextRef="i_2022-12-31_OwnershipAxis-CaptivaEnergySolutionsMember" unitRef="Pure" name="us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners" scale="-2" format="ixt:numdotdecimal" decimals="2">34</ix:nonFraction>% ownership interest any time after <span style="-sec-ix-hidden:c93263934">five</span> years from the date of acquisition, or earlier upon the occurrence of certain circumstances.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">For both transactions, the redeemable noncontrolling interest is recorded at the greater of the initial fair value, increased or decreased for the noncontrolling interests&#x2019; share of subsequent comprehensive income (loss), or the estimated redemption value, with any adjustments to the redemption value impacting retained earnings, but <em style="font: inherit;">not</em> net income. However, the redemption value adjustments are reflected in the earnings per share calculation, as detailed in Note <em style="font: inherit;">14,</em> &#x201c;Earnings Per Share,&#x201d; to the consolidated financial statements. The following table presents the changes in the redeemable noncontrolling interest:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:RedeemableNoncontrollingInterestTableTextBlock" id="c2284668" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">
     <tbody>
      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2020</em></b></p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance at beginning of period</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263943" contextRef="i_2021-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember" unitRef="USD" name="us-gaap:TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests" scale="3" format="ixt:numdotdecimal" decimals="-4">58,050</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263944" contextRef="i_2020-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember" unitRef="USD" name="us-gaap:TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests" scale="3" format="ixt:numdotdecimal" decimals="-3">66,207</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93263945" contextRef="i_2019-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember" unitRef="USD" name="us-gaap:TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests" scale="3" format="ixt:numdotdecimal" decimals="-3">61,227</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Share of net income (loss)</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263946" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember" unitRef="USD" name="us-gaap:TemporaryEquityNetIncome" scale="3" format="ixt:numdotdecimal" decimals="-3">7,543</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263947" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember" unitRef="USD" name="us-gaap:TemporaryEquityNetIncome" scale="3" format="ixt:numdotdecimal" decimals="-3">5,574</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263948" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember" unitRef="USD" name="us-gaap:TemporaryEquityNetIncome" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">2,829</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">)</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Foreign currency translation</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263949" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember" unitRef="USD" name="us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">3,982</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">)</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263950" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember" unitRef="USD" name="us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">3,669</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">)</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263951" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember" unitRef="USD" name="us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments" scale="3" format="ixt:numdotdecimal" decimals="-3">6,562</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Purchase of additional ownership interest</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263952" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember" unitRef="USD" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" format="ixt:numdotdecimal" decimals="-3">375</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">)</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93263953" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember" unitRef="USD" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" format="ixt:numdotdecimal" decimals="-3">27,164</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">)</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93263954" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember" unitRef="USD" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Redemption value adjustment</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263955" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">49,235</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263956" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">17,102</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93263957" contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:numdotdecimal" decimals="-3">1,247</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Balance at end of period</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263958" contextRef="i_2022-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember" unitRef="USD" name="us-gaap:TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests" scale="3" format="ixt:numdotdecimal" decimals="-3">110,471</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263959" contextRef="i_2021-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember" unitRef="USD" name="us-gaap:TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests" scale="3" format="ixt:numdotdecimal" decimals="-4">58,050</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93263960" contextRef="i_2020-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember" unitRef="USD" name="us-gaap:TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests" scale="3" format="ixt:numdotdecimal" decimals="-3">66,207</ix:nonFraction></td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
      </tr>

     </tbody>
    </table>
   </ix:nonNumeric>
   <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" id="c2284669" escape="true">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">5.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Derivative Instruments and Hedging Activities</b><b> </b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Commodities</i></b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><i>&#xa0;</i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company is exposed to price fluctuations in commodities including steel, copper and aluminum; and periodically utilizes commodity derivatives to mitigate the impact of these potential price fluctuations on its financial results. These derivatives typically have maturities of less than <em style="font: inherit;">eighteen</em> months. At <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021,</em>&#xa0;the Company had <ix:nonFraction id="c93263964" contextRef="i_2022-12-31_DerivativeInstrumentRiskAxis-CommodityContractMember" unitRef="Pure" name="us-gaap:DerivativeNumberOfInstrumentsHeld" scale="0" format="ixt-sec:numwordsen" decimals="-3">no</ix:nonFraction>&#xa0;commodity contracts outstanding.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Because these contracts do <em style="font: inherit;">not</em> qualify for hedge accounting, the related gains and losses are recorded in cost of goods sold in the Company&#x2019;s consolidated statements of comprehensive income. Net pre-tax gains&#xa0;recognized were $<ix:nonFraction id="c93263967" contextRef="d_2022-01-01_2022-12-31_DerivativeInstrumentRiskAxis-CommodityContractMember_HedgingDesignationAxis-NondesignatedMember_IncomeStatementLocationAxis-CostOfSalesMember" unitRef="USD" name="us-gaap:DerivativeGainLossOnDerivativeNet" scale="3" format="ixt:numdotdecimal" decimals="-3">29</ix:nonFraction>, $<ix:nonFraction id="c93263968" contextRef="d_2021-01-01_2021-12-31_DerivativeInstrumentRiskAxis-CommodityContractMember_HedgingDesignationAxis-NondesignatedMember_IncomeStatementLocationAxis-CostOfSalesMember" unitRef="USD" name="us-gaap:DerivativeGainLossOnDerivativeNet" scale="3" format="ixt:numdotdecimal" decimals="-3">613</ix:nonFraction>, and&#xa0;$<ix:nonFraction id="c93263969" contextRef="d_2020-01-01_2020-12-31_DerivativeInstrumentRiskAxis-CommodityContractMember_HedgingDesignationAxis-NondesignatedMember_IncomeStatementLocationAxis-CostOfSalesMember" unitRef="USD" name="us-gaap:DerivativeGainLossOnDerivativeNet" scale="3" format="ixt:numdotdecimal" decimals="-3">2,185</ix:nonFraction>&#xa0;for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>&#xa0;</i></b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Foreign Currencies</i></b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company is exposed to foreign currency exchange risk as a result of transactions denominated in currencies other than the U.S. Dollar. The Company periodically utilizes foreign currency forward purchase and sales contracts to manage the volatility associated with certain foreign currency purchases and sales in the normal course of business. Contracts typically have maturities of <em style="font: inherit;">twelve</em> months or less. As of&#xa0;<em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em>, the Company had <span style="-sec-ix-hidden:c93263974">thirty-four</span> and <span style="-sec-ix-hidden:c93263975">eleven</span> foreign currency contracts outstanding, respectively.&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Because these contracts do <em style="font: inherit;">not</em> qualify for hedge accounting, the related gains and losses are recorded in &#x201c;other, net&#x201d; in the Company&#x2019;s consolidated statements of comprehensive income. Net pre-tax gains (losses) recognized for the years ended&#xa0;<em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>&#xa0;were $<ix:nonFraction id="c93263979" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:DerivativeGainLossOnDerivativeNet" scale="3" format="ixt:numdotdecimal" decimals="-3">579</ix:nonFraction>, $(<ix:nonFraction id="c93263980" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:DerivativeGainLossOnDerivativeNet" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">416</ix:nonFraction>), and $<ix:nonFraction id="c93263981" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:DerivativeGainLossOnDerivativeNet" scale="3" format="ixt:numdotdecimal" decimals="-3">355</ix:nonFraction>, respectively.</p>
   <p style="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">52</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Interest Rate Swaps</i></b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">In <em style="font: inherit;">2017,</em> the Company entered into <span style="-sec-ix-hidden:c93263985">twenty</span> interest rate swap agreements, <em style="font: inherit;">four</em>&#xa0;of which were still outstanding as of <em style="font: inherit;"> December 31, 2022. </em>In <em style="font: inherit;"> March 2020, </em>the Company entered into <span style="-sec-ix-hidden:c93263987">three</span> additional interest rate swap agreements, bringing the total outstanding interest rate swaps to <span style="-sec-ix-hidden:c93263988">seven</span>&#xa0;as of <em style="font: inherit;"> December 31, 2022.</em></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">In <em style="font: inherit;"> June 2022, </em>in conjunction with the amendments to the Company's credit agreements discussed further in Note <em style="font: inherit;">12,</em> &#x201c;Credit Agreements,&#x201d; to the&#xa0;consolidated financial statements, the Company amended its interest rate swaps&#xa0;to match&#xa0;the underlying debt and reconfirmed hedge effectiveness. The Company formally documented all relationships between interest rate hedging instruments and the related hedged items, as well as its risk-management objectives and strategies for undertaking various hedge transactions. These interest rate swap agreements qualify as cash flow hedges and therefore, the effective portions of their gains or losses are reported as a component of accumulated other comprehensive loss (AOCL) in the&#xa0;consolidated balance sheets.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The amount of after-tax unrealized gains (losses) recognized for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em> were $<span style="color:#000000;"><ix:nonFraction id="c93263992" contextRef="d_2022-01-01_2022-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:numdotdecimal" decimals="-3">38,494</ix:nonFraction>,</span> $<ix:nonFraction id="c93263993" contextRef="d_2021-01-01_2021-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:numdotdecimal" decimals="-3">20,529</ix:nonFraction>, and $(<ix:nonFraction id="c93263994" contextRef="d_2020-01-01_2020-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">14,285</ix:nonFraction>), respectively. The cash flows of the swaps are recognized as adjustments to interest expense each period.&#xa0;The ineffective portions of the derivatives&#x2019; changes in fair value, if any, are immediately recognized in earnings.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>&#xa0;</i></b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Fair Value</i></b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following table presents the fair value of the Company&#x2019;s derivatives:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="gnrc:ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock" id="c2284670" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>December 31,<br /> 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>December 31,<br /> 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Foreign currency contracts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264000" contextRef="i_2022-12-31_DerivativeInstrumentRiskAxis-ForeignExchangeContractMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member" unitRef="USD" name="us-gaap:DerivativeFairValueOfDerivativeNet" scale="3" format="ixt:numdotdecimal" decimals="-3">94</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c93264001">(36)</span></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Interest rate swaps</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264002" contextRef="i_2022-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member" unitRef="USD" name="us-gaap:DerivativeFairValueOfDerivativeNet" scale="3" format="ixt:numdotdecimal" decimals="-3">49,279</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264003" contextRef="i_2021-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member" unitRef="USD" name="us-gaap:DerivativeFairValueOfDerivativeNet" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">2,074</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The fair values of the foreign currency contracts and&#xa0;interest rate swaps are included in&#xa0;prepaid expenses and other current assets&#xa0;and operating lease and other assets in the consolidated balance sheet as of <em style="font: inherit;"> December 31, 2022</em>. The fair values of the foreign currency contracts and&#xa0;interest rate swaps are included in other accrued liabilities and other long-term liabilities&#xa0;in the consolidated balance sheet as of <em style="font: inherit;"> December 31, 2021</em>. Excluding the impact of credit risk, the fair value of the derivative contracts as of&#xa0;<em style="font: inherit;"> December 31, 2022, </em>is an asset of $<ix:nonFraction id="c93263995" contextRef="i_2022-12-31" unitRef="USD" name="gnrc:DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk" scale="3" format="ixt:numdotdecimal" decimals="-3">51,184</ix:nonFraction>, which represents the net amount the Company would receive to exit all of the agreements on that&#xa0;date. Excluding the impact of credit risk, the fair value of the derivative contracts as of <em style="font: inherit;"> December 31, 2021, </em>is a liability of $<ix:nonFraction id="c93263996" contextRef="i_2021-12-31" unitRef="USD" name="gnrc:DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">2,148</ix:nonFraction>,&#xa0;which represents the net amount the Company would pay to&#xa0;exit all of the agreements on that&#xa0;date.</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ComprehensiveIncomeNoteTextBlock" id="c2284671" escape="true">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">6.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Accumulated Other Comprehensive Loss</b><b> </b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following presents a tabular disclosure of changes in AOCL&#xa0;during the years ended <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em>, net of tax:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" id="A6418335-36E9-4B69-8E59-BEB390ADD39B" escape="true" continuedAt="ADCD1A74-0E0E-48C1-A45C-1128832EA4B7">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Foreign Currency Translation Adjustments</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Unrealized Gain (Loss) on Cash Flow Hedges</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Total</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 55%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Beginning Balance &#x2013; January 1, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264020" contextRef="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">52,704</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264022" contextRef="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">2,051</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264024" contextRef="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">54,755</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other comprehensive income (loss) before reclassifications</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264025" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">48,841</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><em style="font: inherit;">(1)</em></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264027" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3">38,494</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><em style="font: inherit;">(2)</em></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264029" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">10,347</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Amounts reclassified from AOCL</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264034" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net current-period other comprehensive income (loss)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264035" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">48,841</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264037" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3">38,494</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264039" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">10,347</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Ending Balance &#x2013; December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c93264040" contextRef="i_2022-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">101,545</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264042" contextRef="i_2022-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">36,443</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c93264044" contextRef="i_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">65,102</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:continuation id="ADCD1A74-0E0E-48C1-A45C-1128832EA4B7">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Foreign Currency Translation Adjustments</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Unrealized Gain (Loss) on Cash Flow Hedges</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 55%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Beginning Balance &#x2013; January 1, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264045" contextRef="i_2020-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">11,674</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264047" contextRef="i_2020-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">22,580</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264049" contextRef="i_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">34,254</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other comprehensive income (loss) before reclassifications</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264050" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">41,030</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">(3)</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264052" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3">20,529</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">(4)</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264054" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">20,501</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Amounts reclassified from AOCL</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net current-period other comprehensive income (loss)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264060" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">41,030</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264062" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3">20,529</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#xa0;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264064" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">20,501</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Ending Balance &#x2013; December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c93264065" contextRef="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">52,704</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"><em style="font: inherit;">&#xa0;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c93264067" contextRef="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">2,051</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"><em style="font: inherit;">&#xa0;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c93264069" contextRef="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">54,755</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td></tr>
</tbody></table>
   </ix:continuation>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#xa0;</td><td style="width:18pt;vertical-align:top;">(<em style="font: inherit;">1</em>)</td><td style="vertical-align:top;">Represents unfavorable impact from the strengthening of the U.S. dollar against foreign currencies during the year ended <em style="font: inherit;"> December 31, 2022, </em>particularly the Euro and British Pound.&#xa0;</td></tr>
<tr><td style="width:18pt;">&#xa0;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">2</em>)</p> </td><td style="vertical-align:top;">Represents unrealized gains of $<ix:nonFraction id="c93264008" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-3">51,352</ix:nonFraction> on the interest rate swaps, net of tax effect of $(<ix:nonFraction id="c93264009" contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">12,858</ix:nonFraction>) for the year ended <em style="font: inherit;"> December 31, 2022</em>.</td></tr>
<tr><td style="width:18pt;">&#xa0;</td><td style="width:18pt;vertical-align:top;">(<em style="font: inherit;">3</em>)</td><td style="vertical-align:top;">Represents unfavorable impact from the strengthening of the U.S. dollar against foreign currencies during the year ended <em style="font: inherit;"> December 31, 2021, </em>particularly the Euro and British Pound.&#xa0;</td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#xa0;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">4</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Represents unrealized gains of $<ix:nonFraction id="c93264012" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax" scale="3" format="ixt:numdotdecimal" decimals="-3">27,462</ix:nonFraction> on the interest rate swaps, net of tax effect of $(<ix:nonFraction id="c93264013" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember" unitRef="USD" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">6,933</ix:nonFraction>)&#xa0;for the year ended <em style="font: inherit;"> December 31, 2021.</em></p> </td></tr>
</tbody></table>
   <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">53</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:SegmentReportingDisclosureTextBlock" id="c2284674" escape="true">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">7.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Segment Reporting</b><b> </b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company has <span style="-sec-ix-hidden:c93264071">two</span> reportable segments for financial reporting purposes &#x2013; Domestic and International. The Domestic segment includes the legacy Generac business&#xa0;(excluding its traditional Latin American export operations), and the acquisitions that are based in the U.S. and Canada, all of which have revenues&#xa0;substantially derived from the U.S. and Canada. The International segment includes the legacy Generac business' Latin American export operations, and the acquisitions <em style="font: inherit;">not</em> based in the U.S and Canada, all of which have revenues&#xa0;substantially derived from outside the U.S and Canada. Both reportable segments design and manufacture a wide range of&#xa0;energy technology solutions&#xa0;and other power products. The Company has multiple operating segments, which it aggregates into the <em style="font: inherit;">two</em> reportable segments, based on materially similar economic characteristics, products, production processes, classes of customers, distribution methods, organizational structure,&#xa0;and regional considerations.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company's product offerings consist primarily of power generation equipment, energy storage systems, energy management devices &amp; solutions, and other power products geared for varying end customer uses. Residential products and C&amp;I&#xa0;products are each a similar class of products based on similar power output and end customer. The breakout of net sales between residential, C&amp;I, and other products &amp; services by reportable segment is as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="c2D641F70-840D-42A4-9F16-3DBCC000D5B3" escape="true" continuedAt="C039383A-1CCD-4E8E-9C2C-24B52D3B049F">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Net Sales by Segment</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31, 2022</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Product Classes</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Domestic</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">International</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Total</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Residential products</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264111" contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">2,782,037</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264112" contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">129,834</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264113" contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">2,911,871</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Commercial &amp; industrial products</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264114" contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">746,172</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264115" contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">514,565</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264116" contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">1,260,737</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264117" contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">339,657</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264118" contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">52,472</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264119" contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">392,129</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264120" contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">3,867,866</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264121" contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">696,871</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264122" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">4,564,737</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
   <ix:continuation id="C039383A-1CCD-4E8E-9C2C-24B52D3B049F" continuedAt="c1145682C-8E89-4ACC-BDA5-43EFC426982E">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31, 2021</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Product Classes</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Domestic</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">International</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Total</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Residential products</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264129" contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">2,366,908</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264130" contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">89,857</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264131" contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">2,456,765</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Commercial &amp; industrial products</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264132" contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-4">556,520</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264133" contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">442,478</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264134" contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">998,998</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264135" contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">240,622</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264136" contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">40,799</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264137" contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">281,421</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264138" contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-4">3,164,050</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264139" contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">573,134</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264140" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">3,737,184</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:continuation>
   <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
   <ix:continuation id="c1145682C-8E89-4ACC-BDA5-43EFC426982E">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31, 2020</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Product Classes</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Domestic</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">International</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Total</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Residential products</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264147" contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">1,495,383</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264148" contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">61,118</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264149" contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">1,556,501</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Commercial &amp; industrial products</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264150" contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">404,867</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264151" contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">296,884</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264152" contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">701,751</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264153" contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">188,558</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264154" contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-4">38,390</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264155" contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">226,948</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264156" contextRef="d_2020-01-01_2020-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">2,088,808</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264157" contextRef="d_2020-01-01_2020-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">396,392</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264158" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-5">2,485,200</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:continuation>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">54</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Residential products consist primarily of automatic home standby generators ranging in output from <em style="font: inherit;">7.5kW</em> to <em style="font: inherit;">150kW,</em> portable generators, energy storage systems, energy management devices &amp; solutions, and other outdoor power equipment. These products are predominantly sold through independent residential dealers, national and regional retailers, e-commerce merchants, electrical/HVAC/solar wholesalers, solar installers, and outdoor power equipment dealers. The residential products revenue consists of the sale of the product to our distribution partners, who&#xa0;in turn sell or rent the product to the end consumer, including installation and maintenance services. In some cases, residential products are sold direct to the end consumer. Substantially all of the residential products revenues are transferred to the customer at a point in time.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">C&amp;I products consist of larger output stationary generators used in C&amp;I applications, with power outputs up to <em style="font: inherit;">3,250kW.</em> Also included in C&amp;I products are mobile generators, light towers, mobile energy storage systems, mobile heaters,&#xa0;mobile pumps, and related controllers for power generation equipment. These products are sold globally through industrial distributors and dealers, EPC companies, equipment rental companies, and equipment distributors. The C&amp;I products revenue consists of the sale of the product to our distribution partners, who&#xa0;in turn sell or rent the product to the end customer, including installation and maintenance services. In some cases, C&amp;I products are sold direct to the end customer. Substantially all of the C&amp;I products revenues are transferred to the customer at a point in time.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Other&#xa0;consists primarily of aftermarket service parts and product accessories sold to our customers,&#xa0;the amortization of extended warranty deferred revenue,&#xa0;remote monitoring and grid services subscription revenue, as well as&#xa0;certain installation&#xa0;and maintenance service revenue. The aftermarket service parts and product accessories are generally transferred to the customer at a point in time, while the extended warranty and subscription revenue are&#xa0;recognized over the life of the contract. Other service revenue is recognized when the service is performed.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following tables sets forth total sales by reportable segment and inclusive of intersegment sales:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" id="EFACB847-6301-4729-8C45-D934963963EC" escape="true" continuedAt="c7DF8A4EA-1D16-4D84-9CE8-61A35D2B4736">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Domestic</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>International</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Eliminations</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">External net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264159" contextRef="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">3,867,866</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264160" contextRef="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">696,871</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264161" contextRef="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-ExternalNetSalesMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264162" contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-ExternalNetSalesMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">4,564,737</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Intersegment sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264163" contextRef="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">60,731</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264164" contextRef="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">93,699</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264165" contextRef="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-IntersegmentSalesMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">154,430</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264166" contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-IntersegmentSalesMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264167" contextRef="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">3,928,597</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264168" contextRef="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-4">790,570</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c93264169" contextRef="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">154,430</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264170" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">4,564,737</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:continuation id="c7DF8A4EA-1D16-4D84-9CE8-61A35D2B4736" continuedAt="c3F16EA53-D39A-4851-86F6-8575B9F0E783">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Domestic</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>International</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Eliminations</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">External net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264171" contextRef="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-4">3,164,050</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264172" contextRef="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">573,134</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264173" contextRef="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-ExternalNetSalesMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264174" contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-ExternalNetSalesMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">3,737,184</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Intersegment sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264175" contextRef="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">39,339</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264176" contextRef="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">26,123</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264177" contextRef="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-IntersegmentSalesMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">65,462</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264178" contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-IntersegmentSalesMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264179" contextRef="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">3,203,389</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264180" contextRef="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">599,257</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c93264181" contextRef="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">65,462</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264182" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">3,737,184</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:continuation>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:continuation id="c3F16EA53-D39A-4851-86F6-8575B9F0E783">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Domestic</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>International</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Eliminations</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">External net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264183" contextRef="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">2,088,808</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264184" contextRef="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">396,392</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264185" contextRef="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-ExternalNetSalesMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264186" contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-ExternalNetSalesMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-5">2,485,200</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Intersegment sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264187" contextRef="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">13,505</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264188" contextRef="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">1,649</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264189" contextRef="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-IntersegmentSalesMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">15,154</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264190" contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-IntersegmentSalesMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264191" contextRef="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">2,102,313</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264192" contextRef="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">398,041</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c93264193" contextRef="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">15,154</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264194" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-5">2,485,200</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:continuation>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Management evaluates the performance of its segments based primarily on Adjusted EBITDA, which is reconciled to Income before provision for income taxes below. The computation of Adjusted EBITDA is based primarily on the definition that is contained in the Company&#x2019;s credit agreements.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" id="F71ABD48-294C-4366-8838-17D0670F180E" escape="true" continuedAt="c56EE99B9-73C3-4383-8F3C-B9E005061E30">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Adjusted EBITDA</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Domestic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264204" contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="gnrc:AdjustedEBITDA" scale="3" format="ixt:numdotdecimal" decimals="-3">716,302</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264205" contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="gnrc:AdjustedEBITDA" scale="3" format="ixt:numdotdecimal" decimals="-3">795,417</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264206" contextRef="d_2020-01-01_2020-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="gnrc:AdjustedEBITDA" scale="3" format="ixt:numdotdecimal" decimals="-3">563,394</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">International</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264207" contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="gnrc:AdjustedEBITDA" scale="3" format="ixt:numdotdecimal" decimals="-3">109,065</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264208" contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="gnrc:AdjustedEBITDA" scale="3" format="ixt:numdotdecimal" decimals="-3">66,008</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264209" contextRef="d_2020-01-01_2020-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="gnrc:AdjustedEBITDA" scale="3" format="ixt:numdotdecimal" decimals="-3">20,379</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total adjusted EBITDA</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264210" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:AdjustedEBITDA" scale="3" format="ixt:numdotdecimal" decimals="-3">825,367</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264211" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="gnrc:AdjustedEBITDA" scale="3" format="ixt:numdotdecimal" decimals="-3">861,425</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264212" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="gnrc:AdjustedEBITDA" scale="3" format="ixt:numdotdecimal" decimals="-3">583,773</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Interest expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264213" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:InterestExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">54,826</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264214" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:InterestExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">32,953</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264215" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:InterestExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">32,991</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Depreciation and amortization</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264216" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">156,141</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264217" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">92,041</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264218" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">68,773</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Non-cash write-down and other adjustments (1)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264219" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:NoncashWritedownAndOtherAdjustments" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">2,091</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264220" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="gnrc:NoncashWritedownAndOtherAdjustments" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">3,070</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264221" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="gnrc:NoncashWritedownAndOtherAdjustments" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">327</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Non-cash share-based compensation expense (2)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264222" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:ShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3">29,481</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264223" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:ShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3">23,954</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264224" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:ShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3">20,882</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Loss on extinguishment of debt (3)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264225" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">3,743</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264226" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">831</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264227" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Transaction costs and credit facility fees (4)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93264228" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:TransactionCostsAndCredityFaciltyFees" scale="3" format="ixt:numdotdecimal" decimals="-3">5,026</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93264229" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="gnrc:TransactionCostsAndCredityFaciltyFees" scale="3" format="ixt:numdotdecimal" decimals="-3">22,357</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93264230" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="gnrc:TransactionCostsAndCredityFaciltyFees" scale="3" format="ixt:numdotdecimal" decimals="-3">2,151</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Business optimization and other charges (5)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93264231" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:BusinessOptimizationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">4,371</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93264232" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="gnrc:BusinessOptimizationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">33</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93264233" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="gnrc:BusinessOptimizationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">12,158</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Provision for regulatory and clean energy product charges (6)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93264234" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:ProvisionForProductCharges" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">65,265</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264235" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="gnrc:ProvisionForProductCharges" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264236" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="gnrc:ProvisionForProductCharges" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264237" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:Other" scale="3" format="ixt:numdotdecimal" decimals="-3">139</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264238" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="gnrc:Other" scale="3" format="ixt:numdotdecimal" decimals="-5">800</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264239" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="gnrc:Other" scale="3" format="ixt:numdotdecimal" decimals="-3">954</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Income before provision for income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264240" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">508,466</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264241" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">691,526</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264242" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" format="ixt:numdotdecimal" decimals="-3">446,191</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#xa0;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">1</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Includes gains/losses on disposals&#xa0;of assets and sales&#xa0;of&#xa0;certain&#xa0;investments, unrealized mark-to-market adjustments on commodity contracts, certain foreign currency related adjustments, and certain purchase accounting and contingent consideration adjustments.</p> </td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#xa0;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">2</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Represents share-based compensation expense to account for stock options, restricted stock and other stock awards over their respective vesting periods.</p> </td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#xa0;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">3</em>)</p> </td><td style="vertical-align:top;">Represents the non-cash write-off of original issue discount and deferred financing costs due primarily to a voluntary prepayment of debt.</td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#xa0;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">4</em>)</p> </td><td style="vertical-align:top;">Represents transaction costs incurred directly in connection with any investment, as defined in our credit agreement, equity issuance, debt issuance, or refinancing, together with certain fees relating to our senior secured credit facilities.</td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#xa0;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">5</em>)</p> </td><td style="vertical-align:top;">For the year ended <em style="font: inherit;"> December 31, 2022, </em>predominantly represents severance and other restructuring charges related to the suspension of operations at certain of our facilities. For the year ended <em style="font: inherit;"> December 31, 2020, </em>represents severance, non-cash asset write-downs and other charges to address the impact of the COVID-<em style="font: inherit;">19</em> pandemic and decline in oil prices on demand for C&amp;I products.&#xa0;These charges represent expenses that do <em style="font: inherit;">not</em> reflect ongoing operations.</td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#xa0;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">6</em>)</p> </td><td style="vertical-align:top;"> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">For the year ended <em style="font: inherit;"> December 31, 2022, </em>represents a specific credit loss provision of $<ix:nonFraction id="c93264086" contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-CleanEnergyProductMember" unitRef="USD" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" format="ixt:numdotdecimal" decimals="-3">17,926</ix:nonFraction> for a clean energy product customer that filed for bankruptcy, as well as a warranty provision of $<ix:nonFraction id="c93264087" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:StandardProductWarrantyAccrualWarrantyProvision" scale="3" format="ixt:numdotdecimal" decimals="-3">37,338</ix:nonFraction> to address certain clean energy product warranty-related matters. The amount also includes&#xa0;a provision of $<ix:nonFraction id="c93264088" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:ProvisionForOtherLosses" scale="3" format="ixt:numdotdecimal" decimals="-7">10,000</ix:nonFraction>&#xa0;for a pending and unresolved matter with the CPSC concerning the imposition of potential penalty fines for allegedly failing to timely submit a report under the CPSA in relation to certain portable generators that were subject to a voluntary recall previously announced on <em style="font: inherit;"> July 29, 2021.</em></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">55</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">The following tables summarize additional financial information by reportable segment:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <ix:continuation id="c56EE99B9-73C3-4383-8F3C-B9E005061E30" continuedAt="B6B7BF5D-ADA3-4DDE-A1FE-28A67193D0D4">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Assets</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Domestic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264252" contextRef="i_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:Assets" scale="3" format="ixt:numdotdecimal" decimals="-3">4,032,086</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264253" contextRef="i_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:Assets" scale="3" format="ixt:numdotdecimal" decimals="-3">3,742,101</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264254" contextRef="i_2020-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:Assets" scale="3" format="ixt:numdotdecimal" decimals="-3">2,659,597</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">International</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264255" contextRef="i_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:Assets" scale="3" format="ixt:numdotdecimal" decimals="-3">1,137,376</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264256" contextRef="i_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:Assets" scale="3" format="ixt:numdotdecimal" decimals="-3">1,135,679</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264257" contextRef="i_2020-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:Assets" scale="3" format="ixt:numdotdecimal" decimals="-3">575,826</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264258" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:Assets" scale="3" format="ixt:numdotdecimal" decimals="-3">5,169,462</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264259" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:Assets" scale="3" format="ixt:numdotdecimal" decimals="-4">4,877,780</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264260" contextRef="i_2020-12-31" unitRef="USD" name="us-gaap:Assets" scale="3" format="ixt:numdotdecimal" decimals="-3">3,235,423</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:continuation>
   <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
   <ix:continuation id="B6B7BF5D-ADA3-4DDE-A1FE-28A67193D0D4" continuedAt="F2FA108B-5EEB-4C44-A899-A11C6BE314EC">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Depreciation and Amortization</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Domestic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264270" contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation" scale="3" format="ixt:numdotdecimal" decimals="-3">123,768</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264271" contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation" scale="3" format="ixt:numdotdecimal" decimals="-3">66,675</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264272" contextRef="d_2020-01-01_2020-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation" scale="3" format="ixt:numdotdecimal" decimals="-4">53,020</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">International</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264273" contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation" scale="3" format="ixt:numdotdecimal" decimals="-3">32,373</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264274" contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation" scale="3" format="ixt:numdotdecimal" decimals="-3">25,366</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264275" contextRef="d_2020-01-01_2020-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation" scale="3" format="ixt:numdotdecimal" decimals="-3">15,753</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264276" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation" scale="3" format="ixt:numdotdecimal" decimals="-3">156,141</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264277" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation" scale="3" format="ixt:numdotdecimal" decimals="-3">92,041</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264278" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation" scale="3" format="ixt:numdotdecimal" decimals="-3">68,773</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:continuation>
   <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
   <ix:continuation id="F2FA108B-5EEB-4C44-A899-A11C6BE314EC">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Capital Expenditures</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Domestic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264288" contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-4">69,680</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264289" contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">100,672</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264290" contextRef="d_2020-01-01_2020-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">51,867</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">International</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264291" contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">16,508</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264292" contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-4">9,320</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264293" contextRef="d_2020-01-01_2020-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">10,261</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264294" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">86,188</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264295" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">109,992</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264296" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">62,128</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:continuation>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company&#x2019;s sales in the United States represent approximately <ix:nonFraction id="c93264090" contextRef="d_2022-01-01_2022-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="1">80</ix:nonFraction>%, <ix:nonFraction id="c93264091" contextRef="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">82</ix:nonFraction>%, and <ix:nonFraction id="c93264092" contextRef="d_2020-01-01_2020-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">82</ix:nonFraction>% of total sales for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively. Approximately <ix:nonFraction id="c93264095" contextRef="d_2022-01-01_2022-12-31_ConcentrationRiskByBenchmarkAxis-NetAssetsGeographicAreaMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">77</ix:nonFraction>% and <ix:nonFraction id="c93264096" contextRef="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-NetAssetsGeographicAreaMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">75</ix:nonFraction>% of the Company&#x2019;s identifiable long-lived assets are located in the United States as of <em style="font: inherit;"> December 31, 2022&#xa0;</em>and <em style="font: inherit;">2021,</em> respectively.</p>
  </ix:nonNumeric>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:SupplementalBalanceSheetDisclosuresTextBlock" id="c2284685" escape="true">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">8.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Balance Sheet Details</b><b> </b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Inventories consist of the following:</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="c2284686" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Raw material</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264311" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:InventoryRawMaterialsNetOfReserves" scale="3" format="ixt:numdotdecimal" decimals="-4">798,340</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264312" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:InventoryRawMaterialsNetOfReserves" scale="3" format="ixt:numdotdecimal" decimals="-3">727,162</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Work-in-process</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264313" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:InventoryWorkInProcessNetOfReserves" scale="3" format="ixt:numdotdecimal" decimals="-3">14,899</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264314" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:InventoryWorkInProcessNetOfReserves" scale="3" format="ixt:numdotdecimal" decimals="-3">10,756</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Finished goods</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264315" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:InventoryFinishedGoodsNetOfReserves" scale="3" format="ixt:numdotdecimal" decimals="-3">592,145</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264316" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:InventoryFinishedGoodsNetOfReserves" scale="3" format="ixt:numdotdecimal" decimals="-3">351,787</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264317" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:InventoryNet" scale="3" format="ixt:numdotdecimal" decimals="-3">1,405,384</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264318" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:InventoryNet" scale="3" format="ixt:numdotdecimal" decimals="-3">1,089,705</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">56</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">As of <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em>, inventories totaling $<ix:nonFraction id="c93264300" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment" scale="3" format="ixt:numdotdecimal" decimals="-3">17,914</ix:nonFraction>&#xa0;and $<ix:nonFraction id="c93264301" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment" scale="3" format="ixt:numdotdecimal" decimals="-3">15,555</ix:nonFraction>, respectively, were on consignment at customer locations.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Property and equipment consists of the following:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="c2284687" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Land and improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264323" contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandAndLandImprovementsMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">22,589</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264324" contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-LandAndLandImprovementsMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">26,137</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Buildings and improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264325" contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">243,553</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264326" contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">244,273</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Machinery and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264327" contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">229,593</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264328" contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">186,611</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Dies and tools</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264329" contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-DiesAndToolsMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">37,343</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264330" contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-DiesAndToolsMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">31,581</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Vehicles</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264331" contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">9,807</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264332" contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">7,621</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Office equipment and systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264333" contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-OfficeEquipmentMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">148,166</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264334" contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-OfficeEquipmentMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">125,048</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Leasehold improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264335" contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">6,849</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264336" contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">5,679</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Construction in progress</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264337" contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">52,522</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264338" contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">47,601</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Gross property and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264339" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">750,422</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264340" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" format="ixt:numdotdecimal" decimals="-3">674,551</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Accumulated depreciation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264341" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">282,818</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264342" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">233,699</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264343" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" format="ixt:numdotdecimal" decimals="-3">467,604</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264344" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" format="ixt:numdotdecimal" decimals="-3">440,852</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Total property and equipment included finance leases of $<ix:nonFraction id="c93264302" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="3" format="ixt:numdotdecimal" decimals="-3">24,719</ix:nonFraction>&#xa0;and $<ix:nonFraction id="c93264303" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="3" format="ixt:numdotdecimal" decimals="-3">36,776</ix:nonFraction>&#xa0;at <em style="font: inherit;"> December 31, 2022&#xa0;</em>and <em style="font: inherit;">2021,</em> respectively,&#xa0;primarily made up of buildings and improvements. Amortization of finance lease right of use assets&#xa0;is recorded within depreciation expense in the consolidated statements of comprehensive income. The initial measurement of new finance lease right of use assets&#xa0;is accounted for as a non-cash item in the consolidated statement of cash flows. Refer to Note <em style="font: inherit;">10,</em> &#x201c;Leases,&#x201d; for further information regarding the Company&#x2019;s accounting for leases under ASC <em style="font: inherit;">842,</em> <i>Leases.</i></p>
  </ix:nonNumeric>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:18pt;margin-right:0pt;margin-top:0pt;text-align:justify;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" id="c2284688" escape="true">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">9.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Goodwill and Intangible Assets</b><b> </b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The changes in the carrying amount of goodwill by reportable segment for the years ended <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em> are as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ScheduleOfGoodwillTextBlock" id="c3985E9CA-BC2C-4AE0-873D-EA608E027AAF" escape="true" continuedAt="c935DCDF1-6C67-4A5D-859B-3EBD22560883">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Domestic</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">International</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Total</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264371" contextRef="i_2020-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">702,535</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264372" contextRef="i_2020-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">152,693</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264373" contextRef="i_2020-12-31" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">855,228</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Acquisitions of businesses, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264374" contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:GoodwillAcquiredDuringPeriod" scale="3" format="ixt:numdotdecimal" decimals="-3">293,614</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264375" contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:GoodwillAcquiredDuringPeriod" scale="3" format="ixt:numdotdecimal" decimals="-3">284,447</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264376" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:GoodwillAcquiredDuringPeriod" scale="3" format="ixt:numdotdecimal" decimals="-3">578,061</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Foreign currency translation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264377" contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">705</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264378" contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">22,910</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264379" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">23,615</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264380" contextRef="i_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">995,444</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264381" contextRef="i_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-4">414,230</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264382" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">1,409,674</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Acquisitions of businesses, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264383" contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:GoodwillAcquiredDuringPeriod" scale="3" format="ixt:numdotdecimal" decimals="-3">22,128</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264384" contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:GoodwillAcquiredDuringPeriod" scale="3" format="ixt:numdotdecimal" decimals="-3">437</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264385" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:GoodwillAcquiredDuringPeriod" scale="3" format="ixt:numdotdecimal" decimals="-3">22,565</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Foreign currency translation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264386" contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">915</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264387" contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">30,444</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264388" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">31,359</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264389" contextRef="i_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">1,016,657</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264390" contextRef="i_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">384,223</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264391" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-4">1,400,880</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Refer to Note <em style="font: inherit;">3,</em> &#x201c;Acquisitions,&#x201d; to the consolidated financial statements for further information regarding the Company&#x2019;s acquisitions.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The details of the gross goodwill applicable to each reportable segment at <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em> are as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:continuation id="c935DCDF1-6C67-4A5D-859B-3EBD22560883">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2022</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2021</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><em style="font: inherit;">Gross</em></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><em style="font: inherit;">Accumulated Impairment</em></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><em style="font: inherit;">Net</em></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><em style="font: inherit;">Gross</em></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><em style="font: inherit;">Accumulated Impairment</em></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><em style="font: inherit;">Net</em></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Domestic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264404" contextRef="i_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:GoodwillGross" scale="3" format="ixt:numdotdecimal" decimals="-4">1,519,850</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93264405" contextRef="i_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:GoodwillImpairedAccumulatedImpairmentLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">503,193</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264406" contextRef="i_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">1,016,657</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264407" contextRef="i_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:GoodwillGross" scale="3" format="ixt:numdotdecimal" decimals="-3">1,498,637</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93264408" contextRef="i_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:GoodwillImpairedAccumulatedImpairmentLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">503,193</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264409" contextRef="i_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">995,444</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">International</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264410" contextRef="i_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:GoodwillGross" scale="3" format="ixt:numdotdecimal" decimals="-3">388,834</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264411" contextRef="i_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:GoodwillImpairedAccumulatedImpairmentLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">4,611</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264412" contextRef="i_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">384,223</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264413" contextRef="i_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:GoodwillGross" scale="3" format="ixt:numdotdecimal" decimals="-3">418,841</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264414" contextRef="i_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:GoodwillImpairedAccumulatedImpairmentLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">4,611</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264415" contextRef="i_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-4">414,230</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264416" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:GoodwillGross" scale="3" format="ixt:numdotdecimal" decimals="-3">1,908,684</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c93264417" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:GoodwillImpairedAccumulatedImpairmentLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">507,804</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264418" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-4">1,400,880</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264419" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:GoodwillGross" scale="3" format="ixt:numdotdecimal" decimals="-3">1,917,478</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c93264420" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:GoodwillImpairedAccumulatedImpairmentLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">507,804</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264421" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:Goodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">1,409,674</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:continuation>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">57</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following table summarizes intangible assets by major category as of <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em>:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="gnrc:ScheduleOfIntangibleAssetsTableTextBlock" id="c2284691" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Weighted Average Amortization Years</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Gross</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Accumulated Amortization</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Net Book Value</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Gross</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Accumulated Amortization</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Net Book Value</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finite-lived intangible assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Tradenames</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c93264425" format="ixt-sec:duryear">14</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264427" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">157,751</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264429" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">58,821</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264431" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-4">98,930</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264433" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">162,563</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264435" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">47,353</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264437" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-4">115,210</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Customer lists</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c93264439" format="ixt-sec:duryear">11</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264441" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">577,203</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264443" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">370,216</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264445" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">206,987</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264447" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-4">573,910</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264449" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">335,188</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264450" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">238,722</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Patents and technology</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsAndTechnologyMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c93264451" format="ixt-sec:duryear">14</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264452" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsAndTechnologyMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">665,563</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264453" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsAndTechnologyMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">210,806</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264454" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsAndTechnologyMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">454,757</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264455" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsAndTechnologyMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">662,341</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264456" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsAndTechnologyMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">169,868</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264457" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsAndTechnologyMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">492,473</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Software</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264459" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ComputerSoftwareIntangibleAssetMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">1,046</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264460" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ComputerSoftwareIntangibleAssetMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">1,046</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264461" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ComputerSoftwareIntangibleAssetMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264462" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ComputerSoftwareIntangibleAssetMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">1,046</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264463" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ComputerSoftwareIntangibleAssetMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">1,046</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264464" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ComputerSoftwareIntangibleAssetMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Non-compete/other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="c93264465" format="ixt-sec:duryear">5</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264466" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">70,585</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264467" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">28,866</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264468" contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">41,719</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264469" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">79,416</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264470" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-4">12,980</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264471" contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">66,436</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total finite-lived intangible assets</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264473" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">1,472,148</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264474" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">669,755</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264475" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">802,393</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264476" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" format="ixt:numdotdecimal" decimals="-3">1,479,276</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264477" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">566,435</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264478" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">912,841</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Indefinite-lived tradenames</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264480" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:IndefiniteLivedTradeNames" scale="3" format="ixt:numdotdecimal" decimals="-3">128,321</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264482" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:IndefiniteLivedTradeNames" scale="3" format="ixt:numdotdecimal" decimals="-3">128,321</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264483" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:IndefiniteLivedTradeNames" scale="3" format="ixt:numdotdecimal" decimals="-3">128,321</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264485" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:IndefiniteLivedTradeNames" scale="3" format="ixt:numdotdecimal" decimals="-3">128,321</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Total intangible assets</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264487" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:IntangibleAssetsGrossExcludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">1,600,469</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c93264488" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">669,755</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264489" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">930,714</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264490" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:IntangibleAssetsGrossExcludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">1,607,597</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c93264491" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">566,435</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264492" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" format="ixt:numdotdecimal" decimals="-3">1,041,162</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Amortization expense of intangible assets was $<ix:nonFraction id="c93264351" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-4">103,320</ix:nonFraction>, $<ix:nonFraction id="c93264352" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">49,886</ix:nonFraction>, and $<ix:nonFraction id="c93264353" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-4">32,280</ix:nonFraction>&#xa0;in <em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively. Excluding the impact of any future acquisitions, the Company estimates amortization expense for the next <em style="font: inherit;">five</em> years will be as follows: <em style="font: inherit;">2023</em>&#xa0;-&#xa0;<span style="-sec-ix-hidden:c93264359">$99,512;</span> <em style="font: inherit;">2024</em>&#xa0;- <span style="-sec-ix-hidden:c93264361">$94,070;</span> <em style="font: inherit;">2025</em>&#xa0;- <span style="-sec-ix-hidden:c93264363">$89,561;</span> <em style="font: inherit;">2026</em>&#xa0;- <span style="-sec-ix-hidden:c93264365">$82,392;</span> <em style="font: inherit;">2027</em>&#xa0;- $<ix:nonFraction id="c93264367" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" scale="3" format="ixt:numdotdecimal" decimals="-3">56,162</ix:nonFraction>.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="gnrc:LesseeOperatingLeasesAndFinanceLeasesTextBlock" id="c2284692" escape="true">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">10.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Leases</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company leases certain manufacturing facilities, distribution centers, office space, warehouses, automobiles, machinery and computer equipment globally under both finance and operating leases. The Company&#x2019;s leases have remaining lease terms of up to <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="gnrc:LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract" id="c93264494" format="ixt-sec:duryear">20</ix:nonNumeric> years, of which certain leases, primarily within the buildings and improvements asset class, include options to extend the leases for up to <ix:nonNumeric contextRef="i_2022-12-31" name="us-gaap:LesseeOperatingLeaseRenewalTerm" id="c93264495" format="ixt-sec:duryear">10</ix:nonNumeric> additional years. Further, the Company leases certain buildings from a noncontrolling interest holder, which the Company has determined to be arm's&#xa0;length transactions.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company determines if an arrangement is or contains a lease at contract inception. The Company recognizes a right of use (&#x201c;ROU&#x201d;) asset and lease liability at the lease commencement date based on the present value of the lease payments over the lease term. As the Company&#x2019;s leases generally do <em style="font: inherit;">not</em> provide an implicit rate, the incremental borrowing rate is used to determine the present value of lease payments. The incremental borrowing rate is a collateralized rate determined based on the lease term, the Company&#x2019;s credit rating, and other market information available at the commencement date. The ROU asset also includes any lease payments made prior to the commencement date and is reduced by any lease incentives. The lease term <em style="font: inherit;"> may </em>include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. Lease expense for operating leases is recognized on a straight-line basis over the lease term, while lease expense for finance leases is recognized as depreciation and interest expense using the effective interest method. The Company&#x2019;s variable lease expense generally consists of property tax and insurance payments that are variable in nature, however, these amounts are immaterial to the consolidated financial statements and are therefore <em style="font: inherit;">not</em> separately reported.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company has lease agreements with both lease and nonlease components, which it elected to account for as a single lease component. However, the Company did <em style="font: inherit;">not</em> elect to apply the recognition exception for short-term leases. The Company is applying these elections to all asset classes.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company&#xa0;is a lessor of certain of its C&amp;I mobile&#xa0;products as part of a rental fleet, as well as <em style="font: inherit;">two</em> of its&#xa0;buildings that it leases to&#xa0;<em style="font: inherit;">third</em> parties. The lease income related to these&#xa0;arrangements is <em style="font: inherit;">not</em> material to the consolidated financial statements.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company records its operating lease cost and amortization of finance lease ROU assets within cost of goods sold or operating expenses in the consolidated statements of comprehensive income depending on the cost center of the underlying asset. The Company records its finance lease interest cost within interest expense in the consolidated statements of comprehensive income.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">58</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">The components of total lease cost consist of the following:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:LeaseCostTableTextBlock" id="c2284693" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 43%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264514" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:OperatingLeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">36,292</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264516" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:OperatingLeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">22,432</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264518" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:OperatingLeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">18,648</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance lease cost:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Amortization of ROU assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264520" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">3,298</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264521" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">3,187</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264522" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">2,587</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest on lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264523" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">1,945</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264524" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">2,021</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264525" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">2,237</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264526" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:LeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">41,535</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264527" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:LeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-4">27,640</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264528" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:LeaseCost" scale="3" format="ixt:numdotdecimal" decimals="-3">23,472</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Supplemental balance sheet information related to the Company&#x2019;s leases is as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="gnrc:ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock" id="c2284694" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating Leases</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease ROU assets (1)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264532" contextRef="i_2022-12-31_BalanceSheetLocationAxis-OperatingLeaseAndOtherAssetsMember" unitRef="USD" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" format="ixt:numdotdecimal" decimals="-3">100,083</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264533" contextRef="i_2021-12-31_BalanceSheetLocationAxis-OperatingLeaseAndOtherAssetsMember" unitRef="USD" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" format="ixt:numdotdecimal" decimals="-3">101,266</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease liabilities - current (2)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264534" contextRef="i_2022-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesMember" unitRef="USD" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-4">30,330</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264535" contextRef="i_2021-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesMember" unitRef="USD" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">23,549</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease liabilities - noncurrent (3)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264536" contextRef="i_2022-12-31_BalanceSheetLocationAxis-OperatingLeaseAndOtherLongtermLiabilitiesMember" unitRef="USD" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">73,547</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264537" contextRef="i_2021-12-31_BalanceSheetLocationAxis-OperatingLeaseAndOtherLongtermLiabilitiesMember" unitRef="USD" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-4">80,370</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total operating lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264538" contextRef="i_2022-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember" unitRef="USD" name="us-gaap:OperatingLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">103,877</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264539" contextRef="i_2021-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember" unitRef="USD" name="us-gaap:OperatingLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">103,919</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance Leases</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance lease ROU assets, gross</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264541" contextRef="i_2022-12-31" unitRef="USD" name="gnrc:FinanceLeaseRightOfUseAssetGross" scale="3" format="ixt:numdotdecimal" decimals="-4">35,470</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264542" contextRef="i_2021-12-31" unitRef="USD" name="gnrc:FinanceLeaseRightOfUseAssetGross" scale="3" format="ixt:numdotdecimal" decimals="-3">47,119</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Accumulated depreciation - finance lease ROU assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264543" contextRef="i_2022-12-31" unitRef="USD" name="gnrc:FinanceLeaseRightOfUseAssetAccumulatedDepreciation" scale="3" format="ixt:numdotdecimal" decimals="-3">10,751</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264544" contextRef="i_2021-12-31" unitRef="USD" name="gnrc:FinanceLeaseRightOfUseAssetAccumulatedDepreciation" scale="3" format="ixt:numdotdecimal" decimals="-3">10,343</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Finance lease ROU assets, net (4)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264545" contextRef="i_2022-12-31_BalanceSheetLocationAxis-FinanceLeaseAndOtherAssetsMember" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="3" format="ixt:numdotdecimal" decimals="-3">24,719</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264546" contextRef="i_2021-12-31_BalanceSheetLocationAxis-FinanceLeaseAndOtherAssetsMember" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="3" format="ixt:numdotdecimal" decimals="-3">36,776</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance lease liabilities - current (5)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264547" contextRef="i_2022-12-31_BalanceSheetLocationAxis-CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-4">2,650</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264548" contextRef="i_2021-12-31_BalanceSheetLocationAxis-CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">4,209</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance lease liabilities - noncurrent (6)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264549" contextRef="i_2022-12-31_BalanceSheetLocationAxis-FinanceLeaseAndOtherLongtermLiabilitiesMember" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-4">24,770</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264550" contextRef="i_2021-12-31_BalanceSheetLocationAxis-FinanceLeaseAndOtherLongtermLiabilitiesMember" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">34,966</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total finance lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264551" contextRef="i_2022-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember" unitRef="USD" name="us-gaap:FinanceLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-4">27,420</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264552" contextRef="i_2021-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember" unitRef="USD" name="us-gaap:FinanceLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">39,175</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#xa0;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">1</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Recorded in the operating lease and other assets line within the consolidated balance sheets</p> </td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#xa0;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">2</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Recorded in the other accrued liabilities line within the consolidated balance sheets</p> </td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#xa0;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">3</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Recorded in the operating lease and other long-term liabilities line within the consolidated balance sheets</p> </td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#xa0;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">4</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Recorded in the property and equipment, net line within the consolidated balance sheets</p> </td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#xa0;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">5</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Recorded in the current portion of long-term borrowings and finance lease obligations line within the consolidated balance sheets</p> </td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#xa0;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">6</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Recorded in the long-term borrowings and finance lease obligations line within the consolidated balance sheets</p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Supplemental cash flow information related to the Company&#x2019;s leases is as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="gnrc:ScheduleOfLeasesCashFlowInformationTableTextBlock" id="c2284695" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash paid for amounts included in the measurement of lease liabilities</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating cash flows from operating leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264554" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:OperatingLeasePayments" scale="3" format="ixt:numdotdecimal" decimals="-4">36,020</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264555" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:OperatingLeasePayments" scale="3" format="ixt:numdotdecimal" decimals="-4">21,250</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264556" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:OperatingLeasePayments" scale="3" format="ixt:numdotdecimal" decimals="-3">18,412</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating cash flows from finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264557" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:FinanceLeaseInterestPaymentOnLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">1,919</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264558" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:FinanceLeaseInterestPaymentOnLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">1,972</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264559" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:FinanceLeaseInterestPaymentOnLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">1,871</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Financing cash flows from finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264560" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" format="ixt:numdotdecimal" decimals="-3">4,931</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264561" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" format="ixt:numdotdecimal" decimals="-3">4,679</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264562" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" format="ixt:numdotdecimal" decimals="-3">3,957</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">ROU assets obtained in exchange for lease liabilities</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264564" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">28,766</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264565" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">55,057</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264566" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">41,678</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264567" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">2,874</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264568" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">4,026</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264569" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">3,737</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">59</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Weighted average remaining lease term and discount rate information related to the Company&#x2019;s leases as of <em style="font: inherit;"> December 31, 2022&#xa0;</em>and <em style="font: inherit;">2021</em>&#xa0;is as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="gnrc:LeaseTermAndDiscountRateTableTextBlock" id="c2284696" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 64%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average remaining lease term (in years)</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating Leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="i_2022-12-31" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="c93264571" format="ixt-sec:duryear">4.65</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="i_2021-12-31" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="c93264572" format="ixt-sec:duryear">5.21</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Finance Leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="i_2022-12-31" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" id="c93264573" format="ixt-sec:duryear">11.26</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="i_2021-12-31" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" id="c93264574" format="ixt-sec:duryear">11.94</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average discount rate</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating Leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264576" contextRef="i_2022-12-31" unitRef="Pure" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" format="ixt:numdotdecimal" decimals="4">4.82</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264577" contextRef="i_2021-12-31" unitRef="Pure" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" format="ixt:numdotdecimal" decimals="4">3.58</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Finance Leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264578" contextRef="i_2022-12-31" unitRef="Pure" name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" scale="-2" format="ixt:numdotdecimal" decimals="4">7.58</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264579" contextRef="i_2021-12-31" unitRef="Pure" name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" scale="-2" format="ixt:numdotdecimal" decimals="4">7.43</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">The maturities of the Company&#x2019;s lease liabilities as of <em style="font: inherit;"> December 31, 2022&#xa0;</em>are as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="gnrc:OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" id="c2284697" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Finance Leases</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Operating Leases</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264582" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" format="ixt:numdotdecimal" decimals="-3">4,487</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264583" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" format="ixt:numdotdecimal" decimals="-3">34,208</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264584" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo" scale="3" format="ixt:numdotdecimal" decimals="-3">4,223</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264585" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="3" format="ixt:numdotdecimal" decimals="-3">30,834</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264586" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree" scale="3" format="ixt:numdotdecimal" decimals="-3">3,639</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264587" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="3" format="ixt:numdotdecimal" decimals="-3">20,386</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264588" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour" scale="3" format="ixt:numdotdecimal" decimals="-3">3,137</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264589" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" scale="3" format="ixt:numdotdecimal" decimals="-3">9,855</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264590" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive" scale="3" format="ixt:numdotdecimal" decimals="-3">2,929</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264591" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" scale="3" format="ixt:numdotdecimal" decimals="-3">8,334</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">After 2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264592" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive" scale="3" format="ixt:numdotdecimal" decimals="-3">24,405</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264593" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" scale="3" format="ixt:numdotdecimal" decimals="-3">14,743</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total minimum lease payments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264594" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDue" scale="3" format="ixt:numdotdecimal" decimals="-4">42,820</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264595" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="3" format="ixt:numdotdecimal" decimals="-4">118,360</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Interest component</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264596" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount" scale="3" format="ixt:numdotdecimal" decimals="-5">15,400</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264597" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">14,483</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Present value of minimum lease payments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264598" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FinanceLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-4">27,420</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264599" contextRef="i_2022-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember" unitRef="USD" name="us-gaap:OperatingLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">103,877</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ProductWarrantyDisclosureTextBlock" id="c2284698" escape="true">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b><em style="font: inherit;">11.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b>Product Warranty Obligations</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company records a liability for standard product warranty obligations accounted for as assurance warranties at the time of sale of the related product to a customer based on historical warranty experience. The Company also records a liability for specific warranty matters when they become known and are reasonably estimable. The following is a tabular reconciliation of the Company&#x2019;s standard product warranty liability accounted for as an assurance warranty:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" id="F8289F20-BA19-4DA2-8DFA-6148D2998039" escape="true" continuedAt="A8A7CBF7-C5B8-4C32-8AE8-4CB3A919F632">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at beginning of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264638" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrual" scale="3" format="ixt:numdotdecimal" decimals="-3">94,213</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264639" contextRef="i_2020-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrual" scale="3" format="ixt:numdotdecimal" decimals="-3">59,218</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264640" contextRef="i_2019-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrual" scale="3" format="ixt:numdotdecimal" decimals="-3">49,316</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Product warranty reserve assumed in acquisition</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264641" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264642" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition" scale="3" format="ixt:numdotdecimal" decimals="-3">3,932</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264643" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition" scale="3" format="ixt:numdotdecimal" decimals="-3">124</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Payments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93264644" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrualPayments" scale="3" format="ixt:numdotdecimal" decimals="-3">77,476</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93264645" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrualPayments" scale="3" format="ixt:numdotdecimal" decimals="-3">42,682</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93264646" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrualPayments" scale="3" format="ixt:numdotdecimal" decimals="-3">33,496</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Provision for warranty issued</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264647" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrualWarrantiesIssued" scale="3" format="ixt:numdotdecimal" decimals="-4">80,340</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264648" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrualWarrantiesIssued" scale="3" format="ixt:numdotdecimal" decimals="-4">69,280</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264649" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrualWarrantiesIssued" scale="3" format="ixt:numdotdecimal" decimals="-3">42,093</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Changes in estimates for pre-existing warranties (1)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264650" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" format="ixt:numdotdecimal" decimals="-3">40,934</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264651" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" format="ixt:numdotdecimal" decimals="-3">4,465</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264652" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" format="ixt:numdotdecimal" decimals="-3">1,181</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at end of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264653" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrual" scale="3" format="ixt:numdotdecimal" decimals="-3">138,011</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264654" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrual" scale="3" format="ixt:numdotdecimal" decimals="-3">94,213</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264655" contextRef="i_2020-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrual" scale="3" format="ixt:numdotdecimal" decimals="-3">59,218</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;">(<em style="font: inherit;">1</em>)</td><td style="vertical-align:top;">Includes a specific warranty provision recorded during the <em style="font: inherit;">third</em> quarter of <em style="font: inherit;">2022</em> in the amount of $<ix:nonFraction id="c93264604" contextRef="d_2022-07-01_2022-09-30" unitRef="USD" name="gnrc:StandardProductWarrantyAccrualWarrantyProvision" scale="3" format="ixt:numdotdecimal" decimals="-3">37,338</ix:nonFraction> to address certain clean energy product related matters.&#xa0;</td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company also sells extended warranty coverage for certain products, which it accounts for as a service warranty. The sales of extended warranties are recorded as deferred revenue, and typically have a duration of <span style="-sec-ix-hidden:c93264605">five</span> to <span style="-sec-ix-hidden:c93264606">ten</span> years. The deferred revenue related to extended warranty coverage is amortized over the duration of the extended warranty contract period, following the standard warranty period, using the straight-line method. The Company believes the straight-line method is appropriate because the performance obligation is satisfied based on the passage of time. The amortization of deferred revenue is recorded to net sales in the consolidated statements of comprehensive income. The following is a tabular reconciliation of the deferred revenue related to extended warranty coverage:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:continuation id="A8A7CBF7-C5B8-4C32-8AE8-4CB3A919F632">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at beginning of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264662" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:ExtendedProductWarrantyAccrual" scale="3" format="ixt:numdotdecimal" decimals="-3">111,647</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264663" contextRef="i_2020-12-31" unitRef="USD" name="us-gaap:ExtendedProductWarrantyAccrual" scale="3" format="ixt:numdotdecimal" decimals="-3">89,788</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264664" contextRef="i_2019-12-31" unitRef="USD" name="us-gaap:ExtendedProductWarrantyAccrual" scale="3" format="ixt:numdotdecimal" decimals="-3">78,738</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Deferred revenue contracts issued</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264665" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued" scale="3" format="ixt:numdotdecimal" decimals="-3">42,869</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264666" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued" scale="3" format="ixt:numdotdecimal" decimals="-4">41,560</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264667" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued" scale="3" format="ixt:numdotdecimal" decimals="-3">26,968</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Amortization of deferred revenue contracts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264668" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:AmortizationOfDeferredRevenueOnExtendedWarrantyContracts" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">21,703</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264669" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="gnrc:AmortizationOfDeferredRevenueOnExtendedWarrantyContracts" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">19,701</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264670" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="gnrc:AmortizationOfDeferredRevenueOnExtendedWarrantyContracts" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">15,918</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at end of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264671" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:ExtendedProductWarrantyAccrual" scale="3" format="ixt:numdotdecimal" decimals="-3">132,813</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264672" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:ExtendedProductWarrantyAccrual" scale="3" format="ixt:numdotdecimal" decimals="-3">111,647</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264673" contextRef="i_2020-12-31" unitRef="USD" name="us-gaap:ExtendedProductWarrantyAccrual" scale="3" format="ixt:numdotdecimal" decimals="-3">89,788</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:continuation>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">60</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The timing of recognition of the Company&#x2019;s deferred revenue balance related to extended warranties at <em style="font: inherit;"> December 31, 2022</em> is as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" id="c2284701" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">202<span style="-sec-ix-hidden:c93264675">3</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264674" contextRef="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-01-01" unitRef="USD" name="us-gaap:RevenueRemainingPerformanceObligation" scale="3" format="ixt:numdotdecimal" decimals="-3">30,291</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">202<span style="-sec-ix-hidden:c93264677">4</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264676" contextRef="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2024-01-01" unitRef="USD" name="us-gaap:RevenueRemainingPerformanceObligation" scale="3" format="ixt:numdotdecimal" decimals="-3">24,472</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">202<span style="-sec-ix-hidden:c93264679">5</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264678" contextRef="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2025-01-01" unitRef="USD" name="us-gaap:RevenueRemainingPerformanceObligation" scale="3" format="ixt:numdotdecimal" decimals="-4">22,120</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">202<span style="-sec-ix-hidden:c93264681">6</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264680" contextRef="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2026-01-01" unitRef="USD" name="us-gaap:RevenueRemainingPerformanceObligation" scale="3" format="ixt:numdotdecimal" decimals="-3">17,803</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">After 202<span style="-sec-ix-hidden:c93264683">6</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264682" contextRef="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2027-01-01" unitRef="USD" name="us-gaap:RevenueRemainingPerformanceObligation" scale="3" format="ixt:numdotdecimal" decimals="-3">38,127</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264684" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:RevenueRemainingPerformanceObligation" scale="3" format="ixt:numdotdecimal" decimals="-3">132,813</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company has&#xa0;a post-sale extended warranty marketing agreement&#xa0;with a <em style="font: inherit;">third</em> party, pursuant to which&#xa0;the Company is required to pay fees to the <em style="font: inherit;">third</em>-party service provider based on the number of extended warranty contracts that they sell, which it classifies as costs to obtain a contract. These fees are deferred and recorded as other assets in the consolidated balance sheets, and then&#xa0;amortized to net sales in the consolidated statements of comprehensive income over the same period that the underlying deferred revenue is recognized. Deferred contract costs as of <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em> were&#xa0;$<ix:nonFraction id="c93264611" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:CapitalizedContractCostNet" scale="3" format="ixt:numdotdecimal" decimals="-3">9,199</ix:nonFraction>&#xa0;and $<ix:nonFraction id="c93264612" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:CapitalizedContractCostNet" scale="3" format="ixt:numdotdecimal" decimals="-3">8,479</ix:nonFraction>, respectively. Amortization of deferred contract costs recorded during the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em> was $<ix:nonFraction id="c93264615" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:CapitalizedContractCostAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">1,932</ix:nonFraction>,&#xa0;$<ix:nonFraction id="c93264616" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:CapitalizedContractCostAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">1,739</ix:nonFraction>, and $<ix:nonFraction id="c93264617" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:CapitalizedContractCostAmortization" scale="3" format="ixt:numdotdecimal" decimals="-3">1,303</ix:nonFraction>, respectively.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Standard product warranty obligations and extended warranty related deferred revenues are included in the consolidated balance sheets as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="gnrc:ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock" id="c2284702" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Product warranty liability</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Current portion - accrued product warranty</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264690" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrualCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">89,141</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264691" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrualCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">59,052</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Long-term portion - other long-term liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264692" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrualNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-4">48,870</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264693" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrualNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">35,161</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264694" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrual" scale="3" format="ixt:numdotdecimal" decimals="-3">138,011</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264695" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:StandardProductWarrantyAccrual" scale="3" format="ixt:numdotdecimal" decimals="-3">94,213</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Deferred revenue related to extended warranties</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Current portion - other accrued liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264697" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:ExtendedProductWarrantyAccrualCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">30,291</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264698" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:ExtendedProductWarrantyAccrualCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">20,556</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Long-term portion - other long-term liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264699" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:ExtendedProductWarrantyAccrualNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">102,522</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264700" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:ExtendedProductWarrantyAccrualNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">91,091</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264701" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:ExtendedProductWarrantyAccrual" scale="3" format="ixt:numdotdecimal" decimals="-3">132,813</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264702" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:ExtendedProductWarrantyAccrual" scale="3" format="ixt:numdotdecimal" decimals="-3">111,647</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:DebtDisclosureTextBlock" id="c2284703" escape="true">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b><em style="font: inherit;">12.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b>Credit Agreements</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Short-term borrowings included in the consolidated balance sheets as of <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em> consisted&#xa0;of borrowings by the Company&#x2019;s foreign subsidiaries on local lines of credit totaling $<ix:nonFraction id="c93264705" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:ShortTermBorrowings" scale="3" format="ixt:numdotdecimal" decimals="-4">48,990</ix:nonFraction> and $<ix:nonFraction id="c93264706" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:ShortTermBorrowings" scale="3" format="ixt:numdotdecimal" decimals="-3">72,035</ix:nonFraction>, respectively.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Long-term borrowings are included in the consolidated balance sheets as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ScheduleOfDebtInstrumentsTextBlock" id="c2284704" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Tranche A Term Loan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264788" contextRef="i_2022-12-31_LongtermDebtTypeAxis-TrancheATermLoanFacilityMember" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-7">750,000</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264789" contextRef="i_2021-12-31_LongtermDebtTypeAxis-TrancheATermLoanFacilityMember" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Tranche B Term Loan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264790" contextRef="i_2022-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-7">530,000</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264791" contextRef="i_2021-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember" unitRef="USD" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" format="ixt:numdotdecimal" decimals="-7">780,000</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Original issue discount and deferred financing costs</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93264792" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DebtInstrumentUnamortizedDiscount" scale="3" format="ixt:numdotdecimal" decimals="-3">16,568</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93264793" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DebtInstrumentUnamortizedDiscount" scale="3" format="ixt:numdotdecimal" decimals="-3">13,214</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">ABL facility</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264794" contextRef="i_2022-12-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:LongTermLineOfCredit" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264795" contextRef="i_2021-12-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:LongTermLineOfCredit" scale="3" format="ixt:numdotdecimal" decimals="-8">100,000</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Revolver</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264796" contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:LongTermLineOfCredit" scale="3" format="ixt:numdotdecimal" decimals="-7">90,000</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264797" contextRef="i_2021-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:LongTermLineOfCredit" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Finance lease obligation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264798" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FinanceLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-4">27,420</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264799" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:FinanceLeaseLiability" scale="3" format="ixt:numdotdecimal" decimals="-3">39,175</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264800" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:OtherBorrowings" scale="3" format="ixt:numdotdecimal" decimals="-3">966</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264801" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:OtherBorrowings" scale="3" format="ixt:numdotdecimal" decimals="-4">2,060</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264802" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DebtAndCapitalLeaseObligations" scale="3" format="ixt:numdotdecimal" decimals="-3">1,381,818</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264803" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DebtAndCapitalLeaseObligations" scale="3" format="ixt:numdotdecimal" decimals="-3">908,021</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Less: current portion of debt</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264804" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LongTermDebtCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">10,083</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264805" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:LongTermDebtCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">1,721</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Less: current portion of finance lease obligation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264806" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-4">2,650</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264807" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">4,209</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264808" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LongTermDebtAndCapitalLeaseObligations" scale="3" format="ixt:numdotdecimal" decimals="-3">1,369,085</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264809" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:LongTermDebtAndCapitalLeaseObligations" scale="3" format="ixt:numdotdecimal" decimals="-3">902,091</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">61</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Maturities of long-term borrowings outstanding at <em style="font: inherit;"> December 31, 2022</em>, excluding finance lease obligations as their maturities are disclosed in Note <em style="font: inherit;">10,</em> &#x201c;Leases,&#x201d; and before considering original issue discount and deferred financing costs, are as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" id="c2284705" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Tranche A Term Loan</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Tranche B Term Loan</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Revolver and Other</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Total</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264810" contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheATermLoanFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" scale="3" format="ixt:numdotdecimal" decimals="-3">9,375</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264811" contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheBTermLoanFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264812" contextRef="i_2022-12-31_DebtInstrumentAxis-ABLRevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" scale="3" format="ixt:numdotdecimal" decimals="-3">708</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264813" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" scale="3" format="ixt:numdotdecimal" decimals="-3">10,083</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264814" contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheATermLoanFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" scale="3" format="ixt:numdotdecimal" decimals="-3">28,125</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264815" contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheBTermLoanFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264816" contextRef="i_2022-12-31_DebtInstrumentAxis-ABLRevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" scale="3" format="ixt:numdotdecimal" decimals="-3">53</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264817" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" scale="3" format="ixt:numdotdecimal" decimals="-3">28,178</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264818" contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheATermLoanFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" scale="3" format="ixt:numdotdecimal" decimals="-3">46,875</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264819" contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheBTermLoanFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264820" contextRef="i_2022-12-31_DebtInstrumentAxis-ABLRevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" scale="3" format="ixt:numdotdecimal" decimals="-3">56</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264821" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" scale="3" format="ixt:numdotdecimal" decimals="-3">46,931</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264822" contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheATermLoanFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" scale="3" format="ixt:numdotdecimal" decimals="-3">65,625</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264823" contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheBTermLoanFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" scale="3" format="ixt:numdotdecimal" decimals="-7">530,000</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264824" contextRef="i_2022-12-31_DebtInstrumentAxis-ABLRevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" scale="3" format="ixt:numdotdecimal" decimals="-3">86</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264825" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" scale="3" format="ixt:numdotdecimal" decimals="-3">595,711</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264826" contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheATermLoanFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" scale="3" format="ixt:numdotdecimal" decimals="-8">600,000</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264827" contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheBTermLoanFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264828" contextRef="i_2022-12-31_DebtInstrumentAxis-ABLRevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" scale="3" format="ixt:numdotdecimal" decimals="-3">90,032</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264829" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" scale="3" format="ixt:numdotdecimal" decimals="-3">690,032</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">After 2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264830" contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheATermLoanFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264831" contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheBTermLoanFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264832" contextRef="i_2022-12-31_DebtInstrumentAxis-ABLRevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" scale="3" format="ixt:numdotdecimal" decimals="-3">31</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264833" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" scale="3" format="ixt:numdotdecimal" decimals="-3">31</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264834" contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheATermLoanFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-7">750,000</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264835" contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheBTermLoanFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-7">530,000</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264836" contextRef="i_2022-12-31_DebtInstrumentAxis-ABLRevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:LongTermDebtNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">90,966</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264837" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:LongTermDebtNoncurrent" scale="3" format="ixt:numdotdecimal" decimals="-3">1,370,966</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">The Tranche B Term Loan Facility matures on <em style="font: inherit;"> December 13, 2026, </em>while the Tranche A Term Loan Facility and Revolving Facility mature on <em style="font: inherit;"> June 29, 2027.&#xa0;</em>The Tranche A Term Loan Facility principal is repayable in quarterly installments beginning in <em style="font: inherit;"> September 2023.</em></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company&#x2019;s credit agreements originally provided for a $<ix:nonFraction id="c93264709" contextRef="i_2013-05-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" format="ixt:numdotdecimal" decimals="-8">1,200,000</ix:nonFraction> term loan B credit facility (Tranche B Term Loan Facility) and included a $<ix:nonFraction id="c93264710" contextRef="i_2021-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember" unitRef="USD" name="gnrc:UncommittedIncrementalTermLoanFacility" scale="3" format="ixt:numdotdecimal" decimals="-8">300,000</ix:nonFraction> uncommitted incremental term loan on that facility. The maturity date of the Tranche B Term Loan Facility is <em style="font: inherit;"> December 13, 2026. </em>The Tranche B Term Loan Facility initially bore interest at rates based on either a base rate plus an applicable margin of <ix:nonFraction id="c93264711" contextRef="d_2013-05-31_2013-05-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_VariableRateAxis-BaseRateMember" unitRef="Pure" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" format="ixt:numdotdecimal" decimals="4">1.75</ix:nonFraction>% or adjusted LIBOR rate plus an applicable margin of <ix:nonFraction id="c93264712" contextRef="d_2013-05-31_2013-05-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_VariableRateAxis-AdjustedLIBORRateMember" unitRef="Pure" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" format="ixt:numdotdecimal" decimals="4">2.75</ix:nonFraction>%, subject to a LIBOR floor of <ix:nonFraction id="c93264713" contextRef="d_2013-05-31_2013-05-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_VariableRateAxis-LIBORFloorRateMember" unitRef="Pure" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" format="ixt:numdotdecimal" decimals="4">0.75</ix:nonFraction>%. After a number of amendments, as listed below, the Tranche B Term Loan Facility currently bears interest at rates based on either a base rate plus an applicable margin of <ix:nonFraction id="c93264714" contextRef="d_2022-01-01_2022-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_VariableRateAxis-BaseRateMember" unitRef="Pure" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" format="ixt:numdotdecimal" decimals="4">0.75</ix:nonFraction>% or adjusted Secured Overnight Financing Rate (SOFR) rate plus an applicable margin of <ix:nonFraction id="c93264715" contextRef="d_2022-01-01_2022-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_VariableRateAxis-SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" unitRef="Pure" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" format="ixt:numdotdecimal" decimals="4">1.75</ix:nonFraction>%, subject to a SOFR floor of <ix:nonFraction id="c93264716" contextRef="i_2022-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember" unitRef="Pure" name="gnrc:DebtInstrumentSOFRFloor" scale="-2" format="ixt:numdotdecimal" decimals="-3">0.00</ix:nonFraction>%. The interest rate for the Tranche B Term Loan Facility as of <em style="font: inherit;"> December 31, 2022 </em>was <ix:nonFraction id="c93264717" contextRef="i_2022-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" format="ixt:numdotdecimal" decimals="4">5.97</ix:nonFraction>%.&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Tranche B Term Loan Facility does <em style="font: inherit;">not</em> require an Excess Cash Flow payment if the Company&#x2019;s net secured leverage ratio is maintained below <ix:nonFraction id="c93264720" contextRef="d_2022-01-01_2022-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_RangeAxis-MaximumMember" unitRef="Pure" name="gnrc:ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement" scale="0" format="ixt:numdotdecimal" decimals="INF">3.75</ix:nonFraction> to <em style="font: inherit;">1.00</em> times. As of <em style="font: inherit;"> December 31, 2022</em>, the Company&#x2019;s net secured leverage ratio was&#xa0;<span style="color:#000000;"><ix:nonFraction id="c93264722" contextRef="d_2022-01-01_2022-12-31_LongtermDebtTypeAxis-TermLoanMember_RangeAxis-MaximumMember" unitRef="Pure" name="gnrc:SecuredLeverageRatio" scale="0" format="ixt:numdotdecimal" decimals="INF">1.55</ix:nonFraction><b>&#xa0;</b></span>to <em style="font: inherit;">1.00</em> times, and the Company was in compliance with all covenants of the Tranche B Term Loan Facility. There are <em style="font: inherit;">no</em> financial maintenance covenants on the Tranche B Term Loan Facility.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company&#x2019;s credit agreements also originally provided for a&#xa0;senior secured ABL revolving credit facility (ABL Facility). ABL Facility borrowings initially bore interest at rates based on either a base rate plus an applicable margin of <ix:nonFraction id="c93264725" contextRef="d_2015-05-01_2015-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_VariableRateAxis-BaseRateMember" unitRef="Pure" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" format="ixt:numdotdecimal" decimals="2">1.00</ix:nonFraction>% or adjusted LIBOR rate plus an applicable margin of <ix:nonFraction id="c93264727" contextRef="d_2015-05-01_2015-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_VariableRateAxis-AdjustedLIBORRateMember" unitRef="Pure" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" format="ixt:numdotdecimal" decimals="2">2.00</ix:nonFraction>%, in each case, subject to adjustments based on average availability under the&#xa0;ABL Facility.&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">In <em style="font: inherit;"> May 2021, </em>the Company amended the ABL Facility, increasing its borrowing limit from $<ix:nonFraction id="c93264728" contextRef="i_2021-05-01_CreditFacilityAxis-ABLRevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" format="ixt:numdotdecimal" decimals="-8">300,000</ix:nonFraction> to $<ix:nonFraction id="c93264729" contextRef="i_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" format="ixt:numdotdecimal" decimals="-8">500,000</ix:nonFraction>, raising&#xa0;its incremental capacity from $<ix:nonFraction id="c93264730" contextRef="i_2021-05-01_CreditFacilityAxis-ABLRevolvingCreditFacilityMember" unitRef="USD" name="gnrc:LineOfCreditFacilityIncrementalCapacity" scale="3" format="ixt:numdotdecimal" decimals="-8">100,000</ix:nonFraction> to $<ix:nonFraction id="c93264731" contextRef="i_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember" unitRef="USD" name="gnrc:LineOfCreditFacilityIncrementalCapacity" scale="3" format="ixt:numdotdecimal" decimals="-8">200,000</ix:nonFraction>,&#xa0;and extending the maturity date from <em style="font: inherit;"> June 12, 2023 </em>to <em style="font: inherit;"> May 27, 2026 (</em>Amended ABL Facility). In addition, the Amended ABL Facility modified the pricing by reducing&#xa0;certain applicable interest rates to either a base rate plus an applicable margin of <ix:nonFraction id="c93264732" contextRef="d_2021-05-01_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_RangeAxis-MinimumMember_VariableRateAxis-BaseRateMember" unitRef="Pure" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" format="ixt:numdotdecimal" decimals="-3">0.00</ix:nonFraction>% to <ix:nonFraction id="c93264733" contextRef="d_2021-05-01_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_RangeAxis-MaximumMember_VariableRateAxis-BaseRateMember" unitRef="Pure" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" format="ixt:numdotdecimal" decimals="4">0.25</ix:nonFraction>% or adjusted LIBOR rate plus an applicable margin of <ix:nonFraction id="c93264734" contextRef="d_2021-05-01_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_RangeAxis-MinimumMember_VariableRateAxis-LondonInterbankOfferedRateLIBORMember" unitRef="Pure" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" format="ixt:numdotdecimal" decimals="2">1.00</ix:nonFraction>% to <ix:nonFraction id="c93264735" contextRef="d_2021-05-01_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_RangeAxis-MaximumMember_VariableRateAxis-LondonInterbankOfferedRateLIBORMember" unitRef="Pure" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" format="ixt:numdotdecimal" decimals="4">1.25</ix:nonFraction>%, in each case,&#xa0;based on average availability under the Amended ABL Facility. In connection with this amendment, the Company capitalized $<ix:nonFraction id="c93264736" contextRef="i_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:DeferredFinanceCostsNet" scale="3" format="ixt:numdotdecimal" decimals="-4">920</ix:nonFraction> of new debt issuance costs as deferred financing costs on long-term borrowings in the <em style="font: inherit;">second</em> quarter of <em style="font: inherit;">2021.</em> At the same time, the Company also amended its Tranche B Term Loan Facility agreement to reflect the same amendments made to the ABL Facility.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">In <em style="font: inherit;"> May 2021, </em>the Company borrowed $<ix:nonFraction id="c93264739" contextRef="d_2021-05-01_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:ProceedsFromLongTermLinesOfCredit" scale="3" format="ixt:numdotdecimal" decimals="-7">50,000</ix:nonFraction> under the Amended ABL Facility, the proceeds of which were used as a voluntary prepayment of the Tranche B Term Loan Facility. As a result of this&#xa0;prepayment of the Tranche B Term Loan Facility, the Company wrote off $<ix:nonFraction id="c93264740" contextRef="d_2021-04-01_2021-06-30_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember" unitRef="USD" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">831</ix:nonFraction> of original issue discount and capitalized debt issuance costs during the <em style="font: inherit;">second</em> quarter of <em style="font: inherit;">2021</em> as a loss on extinguishment of debt in the&#xa0;consolidated statements of comprehensive income.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">In <em style="font: inherit;"> June 2022, </em>the Company again amended and restated&#xa0;its existing credit agreements (Amended Credit Agreement) resulting in a new term loan facility in an aggregate principal amount of $<ix:nonFraction id="c93264743" contextRef="i_2022-06-30_LongtermDebtTypeAxis-TrancheATermLoanFacilityMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" format="ixt:numdotdecimal" decimals="-7">750,000</ix:nonFraction> (Tranche A Term Loan Facility), established&#xa0;a new revolving facility in an aggregate principal amount of $<ix:nonFraction id="c93264744" contextRef="i_2022-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" format="ixt:numdotdecimal" decimals="-7">1,250,000</ix:nonFraction> (Revolving Facility), terminated the ABL Facility, and&#xa0;replaced all LIBOR provisions to the existing Tranche B Term Loan Facility with SOFR provisions. The maturity date of the Tranche A Term Loan Facility and the Revolving Facility is <em style="font: inherit;"> <span style="-sec-ix-hidden:c93264783">June 29, 2027</span>. </em>Proceeds received by the Company from the Tranche A Term Loan Facility were used to repay the total existing outstanding balance on the Company's former ABL Facility,&#xa0;make a $<ix:nonFraction id="c93264745" contextRef="d_2022-06-01_2022-06-30_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember" unitRef="USD" name="us-gaap:RepaymentsOfLongTermDebt" scale="3" format="ixt:numdotdecimal" decimals="-7">250,000</ix:nonFraction> voluntary prepayment on the Tranche B Term Loan Facility, with the remaining funds to be used for future general corporate purposes.&#xa0;As a result of these&#xa0;prepayments, the Company wrote off $<ix:nonFraction id="c93264746" contextRef="d_2022-04-01_2022-06-30_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember" unitRef="USD" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" scale="3" format="ixt:numdotdecimal" decimals="-3">3,546</ix:nonFraction>&#xa0;of original issue discount and capitalized debt issuance costs during the <em style="font: inherit;">second</em> quarter of <em style="font: inherit;">2022</em> as a loss on extinguishment of debt in the&#xa0;consolidated statements of comprehensive income. The Revolving Facility was unfunded at closing.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">62</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Tranche A Term Loan Facility and the Revolving Facility initially bear interest at a rate based on adjusted SOFR plus an applicable margin of <ix:nonFraction id="c93264750" contextRef="d_2022-01-01_2022-12-31_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember_VariableRateAxis-SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" unitRef="Pure" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" format="ixt:numdotdecimal" decimals="3">1.5</ix:nonFraction>% through <em style="font: inherit;"> December 31, 2022, </em>subject to a SOFR floor of <ix:nonFraction id="c93264751" contextRef="i_2022-12-31_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember" unitRef="Pure" name="gnrc:DebtInstrumentSOFRFloor" scale="-2" format="ixt:numdotdecimal" decimals="-3">0.0</ix:nonFraction>%. Beginning on <em style="font: inherit;"> January 1, 2023, </em>the Tranche A Term Loan Facility and the Revolving Facility will bear interest at a rate based on adjusted SOFR plus an applicable margin between <ix:nonFraction id="c93264752" contextRef="d_2023-01-01_2023-01-01_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember_RangeAxis-MinimumMember_StatementScenarioAxis-ScenarioForecastMember_VariableRateAxis-SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" unitRef="Pure" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" format="ixt:numdotdecimal" decimals="4">1.25</ix:nonFraction>% and&#xa0;<ix:nonFraction id="c93264754" contextRef="d_2023-01-01_2023-01-01_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember_RangeAxis-MaximumMember_StatementScenarioAxis-ScenarioForecastMember_VariableRateAxis-SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" unitRef="Pure" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" format="ixt:numdotdecimal" decimals="4">1.75</ix:nonFraction>%,&#xa0;based on the Company's total leverage ratio and subject to a SOFR floor of <em style="font: inherit;">0.0%.</em> The interest rate for the Tranche A Term Loan Facility as of <em style="font: inherit;"> December 31, 2022 </em>was <ix:nonFraction id="c93264758" contextRef="i_2022-12-31_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" format="ixt:numdotdecimal" decimals="4">5.72</ix:nonFraction>%.&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The&#xa0;Tranche A Term Loan Facility and the Revolving Facility&#xa0;added certain financial covenants that require the Company to maintain a total leverage ratio below <ix:nonFraction id="c93264760" contextRef="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember" unitRef="Pure" name="gnrc:CovenantMaximumTotalLeverageRatio" scale="0" format="ixt:numdotdecimal" decimals="INF">3.75</ix:nonFraction> to <em style="font: inherit;">1.00</em> as well as an interest coverage ratio above&#xa0;<ix:nonFraction id="c93264764" contextRef="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember" unitRef="Pure" name="gnrc:CovenantMinimumInterestCoverageRatio" scale="0" format="ixt:numdotdecimal" decimals="INF">3.00</ix:nonFraction> to <em style="font: inherit;">1.00.</em>&#xa0;As of <em style="font: inherit;"> December 31, 2022, </em>the Company&#x2019;s total leverage&#xa0;ratio was <ix:nonFraction id="c93264768" contextRef="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember" unitRef="Pure" name="gnrc:TotalLeverageRatio" scale="0" format="ixt:numdotdecimal" decimals="INF">1.74</ix:nonFraction>&#xa0;to <em style="font: inherit;">1.00</em>&#xa0;times, and the Company's interest coverage ratio was <span style="color:#000000;"><ix:nonFraction id="c93264772" contextRef="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember" unitRef="Pure" name="gnrc:InterestCoverageRatio" scale="0" format="ixt:numdotdecimal" decimals="INF">14.81</ix:nonFraction>&#xa0;</span>to <em style="font: inherit;">1.00.</em> The Company was in compliance with all other covenants of the Amended Credit Agreement as of <em style="font: inherit;"> December 31, 2022.&#xa0;</em></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Tranche B Term Loan Facility, Tranche A Term Loan Facility and Revolving Facility are guaranteed by substantially all of the Company&#x2019;s wholly-owned domestic restricted subsidiaries&#xa0;and are&#xa0;secured by associated collateral agreements which pledge a <em style="font: inherit;">first</em> priority lien on virtually all of the Company&#x2019;s assets, including fixed assets and intangibles, cash, trade accounts receivable, inventory, and other current assets and proceeds thereof.&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">In connection with the <em style="font: inherit;"> June 2022 </em>refinancing and in accordance with ASC <em style="font: inherit;">470</em>-<em style="font: inherit;">50,</em> the Company capitalized $<ix:nonFraction id="c93264777" contextRef="i_2022-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:DeferredFinanceCostsNet" scale="3" format="ixt:numdotdecimal" decimals="-4">10,330</ix:nonFraction> of fees paid to creditors as deferred financing costs on long-term borrowings&#xa0;and expensed $<ix:nonFraction id="c93264778" contextRef="i_2022-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:DebtInstrumentFeeAmount" scale="3" format="ixt:numdotdecimal" decimals="-5">800</ix:nonFraction> of transaction fees. The Company evaluated on a lender-by-lender basis if the debt related to returning lenders on&#xa0;the Revolving Facility was significantly modified or <em style="font: inherit;">not,</em> resulting in the write-off of $<ix:nonFraction id="c93264780" contextRef="d_2022-06-01_2022-06-30_CreditFacilityAxis-ABLRevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:WriteOffOfDeferredDebtIssuanceCost" scale="3" format="ixt:numdotdecimal" decimals="-3">197</ix:nonFraction>&#xa0;in unamortized deferred financing costs related to the former ABL Facility as a loss on extinguishment of debt in the&#xa0;consolidated statements of comprehensive income.&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">As of <em style="font: inherit;"> December 31, 2022, </em>there was $<ix:nonFraction id="c93264781" contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:LineOfCredit" scale="3" format="ixt:numdotdecimal" decimals="-7">90,000</ix:nonFraction>&#xa0;outstanding&#xa0;under the Revolving&#xa0;Facility, leaving $<ix:nonFraction id="c93264782" contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" scale="3" format="ixt:numdotdecimal" decimals="-3">1,158,725</ix:nonFraction>&#xa0;of availability, net of outstanding letters of credit.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:TreasuryStockTextBlock" id="c2284706" escape="true">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">13.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Stock Repurchase Programs</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">In <em style="font: inherit;"> September 2020, </em>the Company&#x2019;s Board of Directors approved a&#xa0;stock repurchase program, which&#xa0;commenced on <em style="font: inherit;"> October 27, 2020, </em>and allowed&#xa0;for the&#xa0;repurchase of up to&#xa0;$<ix:nonFraction id="c93264839" contextRef="i_2020-09-30" unitRef="USD" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" scale="3" format="ixt:numdotdecimal" decimals="-7">250,000</ix:nonFraction> of the Company's&#xa0;common stock over a <ix:nonNumeric contextRef="d_2020-09-01_2020-09-30" name="us-gaap:StockRepurchaseProgramPeriodInForce1" id="c93264840" format="ixt-sec:duryear">24</ix:nonNumeric>-month&#xa0;period. That program was exhausted in the <em style="font: inherit;">third</em> quarter of <em style="font: inherit;">2022.</em> In&#xa0;<em style="font: inherit;"> July&#xa0;</em><em style="font: inherit;">2022,</em> the Company's Board of Directors approved another stock repurchase program, which commenced on <em style="font: inherit;"> August 5, 2022, </em>and allows for the repurchase of up to $<ix:nonFraction id="c93264844" contextRef="i_2022-08-05" unitRef="USD" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" scale="3" format="ixt:numdotdecimal" decimals="-8">500,000</ix:nonFraction> of the Company's common stock over a <ix:nonNumeric contextRef="d_2022-08-05_2022-08-05" name="us-gaap:StockRepurchaseProgramPeriodInForce1" id="c93264845" format="ixt-sec:durmonth">24</ix:nonNumeric>-month period. Pursuant to the approved program, the Company <em style="font: inherit;"> may </em>repurchase its common stock from time to time, in amounts and at prices the Company deems appropriate, subject to market conditions and other considerations. The repurchases <em style="font: inherit;"> may </em>be executed using open market purchases, privately negotiated agreements or other transactions. The actual timing, number and value of shares repurchased under the program will be determined by management at its discretion and will depend on a number of factors, including the market price of the Company&#x2019;s common stock,&#xa0;general market and economic conditions, applicable legal requirements, and compliance with the terms of the Company&#x2019;s credit agreements. The repurchases <em style="font: inherit;"> may </em>be funded with cash on hand, available borrowings, or proceeds from potential debt or other capital markets sources. The stock repurchase program <em style="font: inherit;"> may </em>be suspended or discontinued at any time without prior notice. During the year ended <em style="font: inherit;"> December 31, 2022, </em>the&#xa0;Company repurchased <ix:nonFraction id="c93264846" contextRef="d_2022-01-01_2022-12-31" unitRef="Share" name="us-gaap:TreasuryStockSharesAcquired" scale="0" format="ixt:numdotdecimal" decimals="INF">2,722,007</ix:nonFraction>&#xa0;shares of its common stock for $<ix:nonFraction id="c93264847" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" format="ixt:numdotdecimal" decimals="-4">345,840</ix:nonFraction>. During the year ended <em style="font: inherit;"> December 31, 2021, </em>the&#xa0;Company repurchased <ix:nonFraction id="c93264848" contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="Share" name="gnrc:SharesAcquiredUnderStockRepurchasesProgramShares" scale="0" format="ixt:numdotdecimal" decimals="INF">350,000</ix:nonFraction>&#xa0;shares of its common stock for $<ix:nonFraction id="c93264849" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" format="ixt:numdotdecimal" decimals="-3">125,992</ix:nonFraction>. During the year ended <em style="font: inherit;"> December 31, 2020, </em>the Company did <span style="-sec-ix-hidden:c93264850">not</span> repurchase any shares of its common stock.&#xa0;Since the inception of all stock repurchase programs (starting in <em style="font: inherit;"> August 2015), </em>we&#xa0;have&#xa0;repurchased <ix:nonFraction id="c93264851" contextRef="d_2015-08-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember" unitRef="Share" name="gnrc:SharesAcquiredUnderStockRepurchasesProgramShares" scale="0" format="ixt:numdotdecimal" decimals="INF">11,748,713</ix:nonFraction>&#xa0;shares of our&#xa0;common stock for $<ix:nonFraction id="c93264852" contextRef="d_2015-08-01_2022-12-31" unitRef="USD" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" format="ixt:numdotdecimal" decimals="-3">777,379</ix:nonFraction>&#xa0;(at an average cost per share of $<ix:nonFraction id="c93264853" contextRef="d_2015-08-01_2022-12-31" unitRef="USDPerShare" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" format="ixt:numdotdecimal" decimals="INF">66.17</ix:nonFraction>).</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:EarningsPerShareTextBlock" id="c2284707" escape="true">
   <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">14.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Earnings Per Share</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Basic earnings per share is calculated by dividing net income attributable to the common shareholders of the Company by the weighted average number of common shares outstanding during the period, exclusive of restricted shares. Except where the result would be anti-dilutive, diluted earnings per share is calculated by assuming the vesting of unvested restricted stock and the exercise of stock options, as well as the satisfaction of certain contingent acquisition consideration conditions as of the end of the period. Refer to Note <em style="font: inherit;">4,</em> &#x201c;Redeemable Noncontrolling Interest,&#x201d; to the consolidated financial statements for further information regarding the accounting for redeemable noncontrolling interests.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">63</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="c2284708" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Numerator</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to Generac Holdings Inc.</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264878" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">399,502</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264879" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">550,494</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264880" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">350,576</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Redeemable noncontrolling interest redemption value adjustment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264881" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">49,235</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264882" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">17,102</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264883" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:MinorityInterestChangeInRedemptionValue" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">1,247</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Net income attributable to common shareholders</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264884" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:NetIncomeLossAvailableToCommonStockholders" scale="3" format="ixt:numdotdecimal" decimals="-3">350,267</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264885" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="gnrc:NetIncomeLossAvailableToCommonStockholders" scale="3" format="ixt:numdotdecimal" decimals="-3">533,392</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264886" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="gnrc:NetIncomeLossAvailableToCommonStockholders" scale="3" format="ixt:numdotdecimal" decimals="-3">349,329</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Denominator</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#xa0;</b></td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Weighted average shares, basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264888" contextRef="d_2022-01-01_2022-12-31" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">63,117,007</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264889" contextRef="d_2021-01-01_2021-12-31" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">62,686,001</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264890" contextRef="d_2020-01-01_2020-12-31" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">62,280,889</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Dilutive effect of stock compensation awards (1)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264891" contextRef="d_2022-01-01_2022-12-31" unitRef="Share" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" format="ixt:numdotdecimal" decimals="INF">1,087,219</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264892" contextRef="d_2021-01-01_2021-12-31" unitRef="Share" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" format="ixt:numdotdecimal" decimals="INF">1,534,603</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264893" contextRef="d_2020-01-01_2020-12-31" unitRef="Share" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" format="ixt:numdotdecimal" decimals="INF">1,456,845</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Dilutive effect of contingently issued shares</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264894" contextRef="d_2022-01-01_2022-12-31" unitRef="Share" name="us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares" scale="0" format="ixt:numdotdecimal" decimals="INF">477,131</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264895" contextRef="d_2021-01-01_2021-12-31" unitRef="Share" name="us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares" scale="0" format="ixt:numdotdecimal" decimals="INF">32,804</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264896" contextRef="d_2020-01-01_2020-12-31" unitRef="Share" name="us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Diluted shares</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264897" contextRef="d_2022-01-01_2022-12-31" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">64,681,357</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264898" contextRef="d_2021-01-01_2021-12-31" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">64,253,408</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264899" contextRef="d_2020-01-01_2020-12-31" unitRef="Share" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">63,737,734</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to common shareholders per share</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264901" contextRef="d_2022-01-01_2022-12-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">5.55</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264902" contextRef="d_2021-01-01_2021-12-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">8.51</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264903" contextRef="d_2020-01-01_2020-12-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">5.61</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264904" contextRef="d_2022-01-01_2022-12-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">5.42</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264905" contextRef="d_2021-01-01_2021-12-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">8.30</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264906" contextRef="d_2020-01-01_2020-12-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">5.48</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#xa0;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">1</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">For the year ended <em style="font: inherit;"> December 31, 2022, </em>excludes approximately <ix:nonFraction id="c93264862" contextRef="d_2022-01-01_2022-12-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" format="ixt:numdotdecimal" decimals="INF">76,000</ix:nonFraction>&#xa0;stock options and restricted stock awards as the impact of such awards was anti-dilutive. There were <ix:nonFraction id="c93264863" contextRef="d_2021-01-01_2021-12-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" format="ixt-sec:numwordsen" decimals="-3">no</ix:nonFraction> awards with an anti-dilutive impact for the years ended <em style="font: inherit;"> December 31, 2021 </em>and&#xa0;<em style="font: inherit;">2020.</em></p> </td></tr>
</tbody></table>
  </ix:nonNumeric>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:IncomeTaxDisclosureTextBlock" id="c2284709" escape="true">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b><em style="font: inherit;">15.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b>Income Taxes</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company&#x2019;s provision for income taxes consists of the following:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="c2284710" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Current:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Federal</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264947" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-4">118,320</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264948" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">105,236</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264949" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">62,714</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">State</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264950" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">25,743</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264951" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">21,295</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264952" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">13,071</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264953" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:CurrentForeignTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">51,055</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264954" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:CurrentForeignTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">10,536</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264955" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:CurrentForeignTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">1,974</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-left: 18pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264956" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">195,118</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264957" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">137,067</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264958" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">77,759</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Deferred:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Federal</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93264960" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">43,475</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264961" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">10,518</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264962" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">20,452</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">State</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93264963" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">10,966</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93264964" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">3,728</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264965" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">1,243</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264966" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">40,109</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264967" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">7,863</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264968" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">1,197</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-left: 18pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264969" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">94,550</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93264970" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="gnrc:DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">1,073</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93264971" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="gnrc:DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance" scale="3" format="ixt:numdotdecimal" decimals="-3">20,498</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Change in valuation allowance</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264972" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">972</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264973" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">1,037</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93264974" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="3" format="ixt:numdotdecimal" decimals="-3">716</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Provision for income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264975" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">99,596</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264976" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">134,957</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93264977" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" format="ixt:numdotdecimal" decimals="-3">98,973</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company files U.S. federal, U.S. state and foreign jurisdiction tax returns which are subject to examination up to the expiration of the statute of limitations. The Company&#xa0;believes the tax positions taken on its&#xa0;returns would be sustained upon an exam, or where a position is uncertain, adequate reserves have been recorded. As of <em style="font: inherit;"> December 31, 2022</em>, the Company is <em style="font: inherit;">no</em> longer subject to income tax examinations for United States federal income taxes for tax years prior to <em style="font: inherit;">2019.</em> Due to the carryforward of net operating losses and research &amp; development credits, the Company&#x2019;s Wisconsin state income tax returns for tax years <em style="font: inherit;">2008</em>&#xa0;through <em style="font: inherit;">2021</em>&#xa0;remain open. In addition, the Company is subject to audit by various foreign taxing jurisdictions for&#xa0;tax years <em style="font: inherit;">2011</em>&#xa0;through <em style="font: inherit;">2022.</em></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company is regularly under tax return examination by tax authorities in the various jurisdictions&#xa0;in which we operate. The Company is&#xa0;actively managing the examinations and working to address any open matters. While the Company does <em style="font: inherit;">not</em> believe any material taxes or penalties are due, there is a possibility that the ultimate tax outcome of an examination <em style="font: inherit;"> may </em>result in differences from what was recorded. Such differences <em style="font: inherit;"> may </em>affect the provision for income taxes in the period in which the determination is made and could impact the Company&#x2019;s financial results.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">64</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Significant components of deferred tax assets and liabilities are as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="c2284711" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Deferred tax assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Accrued expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264983" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">46,994</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264984" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">37,797</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Deferred revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264985" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredTaxAssetsDeferredIncome" scale="3" format="ixt:numdotdecimal" decimals="-3">34,914</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264986" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredTaxAssetsDeferredIncome" scale="3" format="ixt:numdotdecimal" decimals="-3">27,003</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264987" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredTaxAssetsInventory" scale="3" format="ixt:numdotdecimal" decimals="-3">20,229</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264988" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredTaxAssetsInventory" scale="3" format="ixt:numdotdecimal" decimals="-3">14,907</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Stock-based compensation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264989" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" scale="3" format="ixt:numdotdecimal" decimals="-4">11,750</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264990" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" scale="3" format="ixt:numdotdecimal" decimals="-3">10,202</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Operating loss and credit carryforwards</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264991" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" scale="3" format="ixt:numdotdecimal" decimals="-3">56,279</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264992" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" scale="3" format="ixt:numdotdecimal" decimals="-3">68,368</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Bad debt</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264993" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" scale="3" format="ixt:numdotdecimal" decimals="-3">1,415</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264994" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" scale="3" format="ixt:numdotdecimal" decimals="-3">1,253</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264995" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredTaxAssetsOther" scale="3" format="ixt:numdotdecimal" decimals="-3">7,531</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93264996" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredTaxAssetsOther" scale="3" format="ixt:numdotdecimal" decimals="-3">12,203</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Capitalized R&amp;D</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"><ix:nonFraction id="c93264997" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment" scale="3" format="ixt:numdotdecimal" decimals="-3">33,738</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"><ix:nonFraction id="c93264998" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Valuation allowance</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93264999" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" format="ixt:numdotdecimal" decimals="-3">4,638</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93265000" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" format="ixt:numdotdecimal" decimals="-3">7,874</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 18pt;">Total deferred tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265001" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredTaxAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">208,212</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265002" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredTaxAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">163,859</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Deferred tax liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Goodwill and intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265004" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">260,745</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265005" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" scale="3" format="ixt:numdotdecimal" decimals="-3">328,162</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Depreciation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265006" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-3">44,385</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265007" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="3" format="ixt:numdotdecimal" decimals="-4">21,340</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Debt refinancing costs</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265008" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">1,184</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265009" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts" scale="3" format="ixt:numdotdecimal" decimals="-3">2,916</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Interest swap and derivative</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265010" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredTaxLiabilitiesDerivatives" scale="3" format="ixt:numdotdecimal" decimals="-4">12,370</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265011" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredTaxLiabilitiesDerivatives" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Prepaid expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93265012" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredTaxLiabilitiesPrepaidExpenses" scale="3" format="ixt:numdotdecimal" decimals="-3">2,473</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93265013" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredTaxLiabilitiesPrepaidExpenses" scale="3" format="ixt:numdotdecimal" decimals="-3">1,664</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 18pt;">Total deferred tax liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265014" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">321,157</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265015" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" format="ixt:numdotdecimal" decimals="-3">354,082</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#xa0;</td><td style="padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="padding: 0px 0px 1px; margin: 0px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net deferred tax liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><span style="-sec-ix-hidden:c93265016">(112,945)</span></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><span style="-sec-ix-hidden:c93265017">(190,223</span></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">As of <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em>, deferred tax assets of $<ix:nonFraction id="c93264917" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-3">12,746</ix:nonFraction>&#xa0;and $<ix:nonFraction id="c93264918" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" format="ixt:numdotdecimal" decimals="-4">15,740</ix:nonFraction>, and deferred tax liabilities of $<ix:nonFraction id="c93264919" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" format="ixt:numdotdecimal" decimals="-3">125,691</ix:nonFraction>&#xa0;and $<ix:nonFraction id="c93264920" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" format="ixt:numdotdecimal" decimals="-3">205,964</ix:nonFraction>, respectively, were reflected on the consolidated balance sheets.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company maintains a valuation allowance against the deferred tax assets&#xa0;when it is uncertain it&#xa0;will generate sufficient taxable income to utilize the asset. During <em style="font: inherit;">2022</em>, the valuation allowance decreased&#xa0;by $<ix:nonFraction id="c93264922" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:VauationAllowancesAndReservesAdjustments" scale="3" format="ixt:numdotdecimal" decimals="-3">3,236</ix:nonFraction> primarily due to a reversal of valuation allowance in certain jurisdictions where we believe the deferred tax assets can now be utilized, partially offset by the&#xa0;establishment of valuation allowances in certain jurisdictions where we believe the deferred tax assets cannot be used.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">At <em style="font: inherit;"> December 31, 2022, </em>the Company had tax loss carryforwards of approximately $<ix:nonFraction id="c93264923" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:TaxCreditCarryforwardAmount" scale="3" format="ixt:numdotdecimal" decimals="-3">238,371</ix:nonFraction>,&#xa0;which have varying expiration periods ranging from <em style="font: inherit;">2023</em> to indefinite. For carryforward amounts where the Company believes the losses will expire prior to use, a valuation allowance has been established. For all other carryforwards the Company believes it will generate sufficient taxable income in these jurisdictions to utilize its loss carryforwards.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">At <em style="font: inherit;"> December 31, 2022</em>, the Company had&#xa0;state manufacturing tax credit carryforwards of approximately $<ix:nonFraction id="c93264925" contextRef="i_2022-12-31" unitRef="USD" name="gnrc:TaxCreditCarryforwardStateManufacturing" scale="3" format="ixt:numdotdecimal" decimals="-3">29,946</ix:nonFraction>, which expire between <em style="font: inherit;">2028</em>&#xa0;and <em style="font: inherit;">2037.</em> The Company believes it will generate sufficient taxable income in these jurisdictions to fully utilize the credits prior to their expiration.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Changes in the Company&#x2019;s gross liability for unrecognized tax benefits, excluding interest and penalties, were as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" id="c2284712" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Unrecognized tax benefit, beginning of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265022" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:UnrecognizedTaxBenefits" scale="3" format="ixt:numdotdecimal" decimals="-3">8,647</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265023" contextRef="i_2020-12-31" unitRef="USD" name="us-gaap:UnrecognizedTaxBenefits" scale="3" format="ixt:numdotdecimal" decimals="-3">7,613</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Increase in unrecognized tax benefit for positions taken in prior period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265024" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" scale="3" format="ixt:numdotdecimal" decimals="-3">97</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265025" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" scale="3" format="ixt:numdotdecimal" decimals="-3">272</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Increase in unrecognized tax benefit for positions taken in current period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265026" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" scale="3" format="ixt:numdotdecimal" decimals="-3">975</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265027" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" scale="3" format="ixt:numdotdecimal" decimals="-4">990</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Statute of limitation expirations</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93265028" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" scale="3" format="ixt:numdotdecimal" decimals="-3">824</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93265029" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" scale="3" format="ixt:numdotdecimal" decimals="-3">228</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Settlements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93265030" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93265031" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities" scale="3" format="ixt:zerodash" decimals="-3" sign="-">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Unrecognized tax benefit, end of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93265032" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:UnrecognizedTaxBenefits" scale="3" format="ixt:numdotdecimal" decimals="-3">8,895</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93265033" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:UnrecognizedTaxBenefits" scale="3" format="ixt:numdotdecimal" decimals="-3">8,647</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The unrecognized tax benefit as of&#xa0;<em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em>, if recognized, would favorably impact the effective tax rate.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">As of&#xa0;<em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em>, total accrued interest of approximately $<ix:nonFraction id="c93264930" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">161</ix:nonFraction>&#xa0;and $<ix:nonFraction id="c93264931" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">127</ix:nonFraction>, respectively,&#xa0;and&#xa0;accrued penalties of approximately $<ix:nonFraction id="c93264932" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">422</ix:nonFraction>&#xa0;and&#xa0;$<ix:nonFraction id="c93264933" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">357</ix:nonFraction>, respectively, associated with net unrecognized tax benefits are included in the consolidated balance sheets. Interest and penalties are recorded as a component of income tax expense.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company does <em style="font: inherit;">not</em> expect a significant increase or decrease to the total amounts of unrecognized tax benefits related to continuing operations during the following fiscal year ending <em style="font: inherit;"> December&#xa0;</em><em style="font: inherit;">31,</em> <em style="font: inherit;">2023.</em></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">65</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">A reconciliation of the statutory tax rates to&#xa0;the effective tax rates for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em> are as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="c2284713" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">U.S. statutory rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265040" contextRef="d_2022-01-01_2022-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" format="ixt:numdotdecimal" decimals="2">21.0</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265041" contextRef="d_2021-01-01_2021-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" format="ixt:numdotdecimal" decimals="2">21.0</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265042" contextRef="d_2020-01-01_2020-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" format="ixt:numdotdecimal" decimals="2">21.0</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">State taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265043" contextRef="d_2022-01-01_2022-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" format="ixt:numdotdecimal" decimals="2">4.0</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265044" contextRef="d_2021-01-01_2021-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" format="ixt:numdotdecimal" decimals="3">4.3</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265045" contextRef="d_2020-01-01_2020-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" format="ixt:numdotdecimal" decimals="3">4.3</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">State tax rate differential</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93265046" contextRef="d_2022-01-01_2022-12-31" unitRef="Pure" name="gnrc:EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent" scale="-2" format="ixt:numdotdecimal" decimals="3" sign="-">0.3</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265047" contextRef="d_2021-01-01_2021-12-31" unitRef="Pure" name="gnrc:EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent" scale="-2" format="ixt:numdotdecimal" decimals="-3">0.0</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265048" contextRef="d_2020-01-01_2020-12-31" unitRef="Pure" name="gnrc:EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent" scale="-2" format="ixt:numdotdecimal" decimals="-3">0.0</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Research and development credits</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93265049" contextRef="d_2022-01-01_2022-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" scale="-2" format="ixt:numdotdecimal" decimals="3">1.1</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93265050" contextRef="d_2021-01-01_2021-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" scale="-2" format="ixt:numdotdecimal" decimals="2">1.0</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93265051" contextRef="d_2020-01-01_2020-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" scale="-2" format="ixt:numdotdecimal" decimals="3">1.1</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">State credits</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93265052" contextRef="d_2022-01-01_2022-12-31" unitRef="Pure" name="gnrc:EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent" scale="-2" format="ixt:numdotdecimal" decimals="3" sign="-">1.5</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93265053" contextRef="d_2021-01-01_2021-12-31" unitRef="Pure" name="gnrc:EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent" scale="-2" format="ixt:numdotdecimal" decimals="3" sign="-">1.1</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93265054" contextRef="d_2020-01-01_2020-12-31" unitRef="Pure" name="gnrc:EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent" scale="-2" format="ixt:numdotdecimal" decimals="3" sign="-">1.5</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Share-based compensation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93265055" contextRef="d_2022-01-01_2022-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" scale="-2" format="ixt:numdotdecimal" decimals="3" sign="-">2.7</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93265056" contextRef="d_2021-01-01_2021-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" scale="-2" format="ixt:numdotdecimal" decimals="3" sign="-">3.8</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93265057" contextRef="d_2020-01-01_2020-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" scale="-2" format="ixt:numdotdecimal" decimals="2" sign="-">1.0</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Nondeductible U.S. compensation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265058" contextRef="d_2022-01-01_2022-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" scale="-2" format="ixt:numdotdecimal" decimals="3">1.6</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265059" contextRef="d_2021-01-01_2021-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" scale="-2" format="ixt:numdotdecimal" decimals="3">1.5</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265060" contextRef="d_2020-01-01_2020-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" scale="-2" format="ixt:numdotdecimal" decimals="-3">0.0</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Foreign tax deduction</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93265061" contextRef="d_2022-01-01_2022-12-31" unitRef="Pure" name="gnrc:EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent" scale="-2" format="ixt:numdotdecimal" decimals="3" sign="-">0.4</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93265062" contextRef="d_2021-01-01_2021-12-31" unitRef="Pure" name="gnrc:EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent" scale="-2" format="ixt:numdotdecimal" decimals="3" sign="-">1.5</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265063" contextRef="d_2020-01-01_2020-12-31" unitRef="Pure" name="gnrc:EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent" scale="-2" format="ixt:numdotdecimal" decimals="-3">0.0</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Foreign deferred tax rate change</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265064" contextRef="d_2022-01-01_2022-12-31" unitRef="Pure" name="gnrc:EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent" scale="-2" format="ixt:numdotdecimal" decimals="-3">0.0</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265065" contextRef="d_2021-01-01_2021-12-31" unitRef="Pure" name="gnrc:EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent" scale="-2" format="ixt:numdotdecimal" decimals="3">1.2</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265066" contextRef="d_2020-01-01_2020-12-31" unitRef="Pure" name="gnrc:EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent" scale="-2" format="ixt:numdotdecimal" decimals="-3">0.0</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93265067" contextRef="d_2022-01-01_2022-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" format="ixt:numdotdecimal" decimals="2" sign="-">1.0</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93265068" contextRef="d_2021-01-01_2021-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" format="ixt:numdotdecimal" decimals="3" sign="-">1.1</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c93265069" contextRef="d_2020-01-01_2020-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" format="ixt:numdotdecimal" decimals="3">0.5</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Effective tax rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93265070" contextRef="d_2022-01-01_2022-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" format="ixt:numdotdecimal" decimals="3">19.6</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93265071" contextRef="d_2021-01-01_2021-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" format="ixt:numdotdecimal" decimals="3">19.5</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93265072" contextRef="d_2020-01-01_2020-12-31" unitRef="Pure" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" format="ixt:numdotdecimal" decimals="3">22.2</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">%</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock" id="c2284714" escape="true">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b><em style="font: inherit;">16.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b>Benefit Plans</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0pt; text-align: left;"><b>Medical and Dental Plans</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company maintains medical and dental benefit plans covering its full-time domestic employees and their dependents. These&#xa0;plans are partially or fully self-funded under which participant claims are obligations of the plan. These plans are funded through employer and employee contributions at a level sufficient to pay for the benefits provided by the plan. The Company&#x2019;s contributions to the plans were $<ix:nonFraction id="c93265074" contextRef="d_2022-01-01_2022-12-31" unitRef="USD" name="gnrc:EmployerContributionUnderMedicalAndDentalPlan" scale="3" format="ixt:numdotdecimal" decimals="-4">31,180</ix:nonFraction>, $<ix:nonFraction id="c93265075" contextRef="d_2021-01-01_2021-12-31" unitRef="USD" name="gnrc:EmployerContributionUnderMedicalAndDentalPlan" scale="3" format="ixt:numdotdecimal" decimals="-3">24,189</ix:nonFraction>, and $<ix:nonFraction id="c93265076" contextRef="d_2020-01-01_2020-12-31" unitRef="USD" name="gnrc:EmployerContributionUnderMedicalAndDentalPlan" scale="3" format="ixt:numdotdecimal" decimals="-3">24,617</ix:nonFraction>&#xa0;for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company&#x2019;s foreign subsidiaries participate in government sponsored medical benefit plans and other local plans. In certain cases, the Company purchases supplemental medical coverage for certain employees at these foreign locations. The expenses related to these plans are <em style="font: inherit;">not</em> material to the Company&#x2019;s consolidated financial statements.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Savings Plan</b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company maintains a defined-contribution <em style="font: inherit;">401</em>(k) savings plan for eligible domestic employees. Under the plan, employees <em style="font: inherit;"> may </em>defer receipt of a portion of their eligible compensation. The Company <em style="font: inherit;"> may </em>contribute a matching contribution of <ix:nonFraction id="c93265081" contextRef="d_2022-01-01_2022-12-31_RetirementPlanTypeAxis-SavingsPlan401kMember" unitRef="Pure" name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" scale="-2" format="ixt:numdotdecimal" decimals="1">50</ix:nonFraction>% of the <em style="font: inherit;">first</em> <ix:nonFraction id="c93265083" contextRef="d_2022-01-01_2022-12-31_RetirementPlanTypeAxis-SavingsPlan401kMember" unitRef="Pure" name="gnrc:DefinedContributionPlanPercentageOfEligibleCompensation" scale="-2" format="ixt:numdotdecimal" decimals="2">6</ix:nonFraction>% of eligible compensation of employees that is deferred. The Company <em style="font: inherit;"> may </em>also contribute a non-elective contribution for eligible employees employed on <em style="font: inherit;"> December 31, 2008 </em>that were impacted by the freezing of the Company&#x2019;s pension plans. The Company&#x2019;s matching contributions are subject to vesting. Forfeitures <em style="font: inherit;"> may </em>be applied against plan expenses and Company contributions. The Company recognized $<ix:nonFraction id="c93265084" contextRef="d_2022-01-01_2022-12-31_RetirementPlanTypeAxis-SavingsPlan401kMember" unitRef="USD" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" format="ixt:numdotdecimal" decimals="-3">4,141</ix:nonFraction>, $<ix:nonFraction id="c93265085" contextRef="d_2021-01-01_2021-12-31_RetirementPlanTypeAxis-SavingsPlan401kMember" unitRef="USD" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" format="ixt:numdotdecimal" decimals="-3">6,725</ix:nonFraction>, and $<ix:nonFraction id="c93265086" contextRef="d_2020-01-01_2020-12-31_RetirementPlanTypeAxis-SavingsPlan401kMember" unitRef="USD" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" format="ixt:numdotdecimal" decimals="-3">5,332</ix:nonFraction>&#xa0;of expense related to these plans for the years ended <em style="font: inherit;"> December 31,&#xa0;</em><em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">66</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="c2284715" escape="true">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b><em style="font: inherit;">17.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b>Share Plans</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company adopted an equity incentive plan (the <em style="font: inherit;">2010</em> Plan) on <em style="font: inherit;"> February 10, 2010 </em>in connection with its initial public offering. The <em style="font: inherit;">2010</em> Plan, as amended, allowed&#xa0;for granting of up to <ix:nonFraction id="c93265094" contextRef="i_2010-02-10" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" scale="6" format="ixt:numdotdecimal" decimals="-5">9.1</ix:nonFraction> million share-based awards to executives, directors and employees. Awards available for grant under the <em style="font: inherit;">2010</em> Plan included stock options, stock appreciation rights, restricted stock, other share-based awards and performance-based compensation awards. New grants&#xa0;under the <em style="font: inherit;">2010</em> Plan ceased in <em style="font: inherit;"> June 2019. </em>Total share-based compensation expense related to the <em style="font: inherit;">2010</em> Plan, net of estimated forfeitures, was $<ix:nonFraction id="c93265098" contextRef="d_2022-01-01_2022-12-31_PlanNameAxis-EquityIncentivePlanPlanMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">2,379</ix:nonFraction>, $<ix:nonFraction id="c93265099" contextRef="d_2021-01-01_2021-12-31_PlanNameAxis-EquityIncentivePlanPlanMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">6,249</ix:nonFraction>, and $<ix:nonFraction id="c93265100" contextRef="d_2020-01-01_2020-12-31_PlanNameAxis-EquityIncentivePlanPlanMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">11,681</ix:nonFraction>&#xa0;for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively, which is recorded in operating expenses in the consolidated statements of comprehensive income.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> June 13, 2019, </em>the stockholders of Generac Holdings Inc. approved the Company&#x2019;s <em style="font: inherit;">2019</em> Equity Incentive Plan (the <em style="font: inherit;">2019</em> Plan).&#xa0;The <em style="font: inherit;">2019</em> Plan allows for granting of up to <ix:nonFraction id="c93265107" contextRef="i_2019-06-13_PlanNameAxis-The2019EquityIncentivePlanMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" scale="6" format="ixt:numdotdecimal" decimals="-5">2.7</ix:nonFraction> million share-based awards to executives, directors and employees. Awards available for grant under the <em style="font: inherit;">2019</em>&#xa0;Plan include stock options, stock appreciation rights, restricted stock, other share-based awards and performance-based compensation awards. Total share-based compensation expense related to the <em style="font: inherit;">2019</em> Plan, net of estimated forfeitures, was $<ix:nonFraction id="c93265112" contextRef="d_2022-01-01_2022-12-31_PlanNameAxis-The2019EquityIncentivePlanMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">27,102</ix:nonFraction>, $<ix:nonFraction id="c93265113" contextRef="d_2021-01-01_2021-12-31_PlanNameAxis-The2019EquityIncentivePlanMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">17,705</ix:nonFraction>, and $<ix:nonFraction id="c93265114" contextRef="d_2020-01-01_2020-12-31_PlanNameAxis-The2019EquityIncentivePlanMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">9,201</ix:nonFraction>&#xa0;for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em>&#xa0;and <em style="font: inherit;">2020,</em> respectively,&#xa0;which is recorded in operating expenses in the consolidated statements of comprehensive income.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Stock Options</b> - Stock options granted in <em style="font: inherit;">2022</em> have an exercise price between&#xa0;$<ix:nonFraction id="c93265118" contextRef="d_2022-01-01_2022-12-31_RangeAxis-MinimumMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">103.50</ix:nonFraction>&#xa0;per share and $<ix:nonFraction id="c93265119" contextRef="d_2022-01-01_2022-12-31_RangeAxis-MaximumMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">315.88</ix:nonFraction>&#xa0;per share; stock options granted in <em style="font: inherit;">2021</em> have an exercise price between&#xa0;$<ix:nonFraction id="c93265121" contextRef="d_2021-01-01_2021-12-31_RangeAxis-MinimumMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">323.66</ix:nonFraction>&#xa0;per share and $<ix:nonFraction id="c93265122" contextRef="d_2021-01-01_2021-12-31_RangeAxis-MaximumMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">438.83</ix:nonFraction>&#xa0;per share; and stock options granted in <em style="font: inherit;">2020</em> have an exercise price between $<ix:nonFraction id="c93265124" contextRef="d_2020-01-01_2020-12-31_RangeAxis-MinimumMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">91.00</ix:nonFraction> per share and $<ix:nonFraction id="c93265125" contextRef="d_2020-01-01_2020-12-31_RangeAxis-MaximumMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">158.89</ix:nonFraction>&#xa0;per share. Stock options vest in equal installments over <span style="-sec-ix-hidden:c93265126">four</span> years, subject to the grantee&#x2019;s continued employment or service and expire <span style="-sec-ix-hidden:c93265127">ten</span> years after the date of grant.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Stock option exercises can be net-share settled such that the Company withholds shares with value equivalent to the exercise price of the stock option awards plus the employees&#x2019; minimum statutory obligation for the applicable income and other employment taxes. Total shares withheld were <ix:nonFraction id="c93265128" contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="Share" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="INF">17,376</ix:nonFraction>, <ix:nonFraction id="c93265129" contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="Share" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="INF">8,608</ix:nonFraction>, and <ix:nonFraction id="c93265130" contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="Share" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="INF">24,070</ix:nonFraction>&#xa0;for the years ended <em style="font: inherit;"> December 31,&#xa0;</em><em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively, and were based on the value of the stock on the exercise dates. The net-share settlement has the effect of share repurchases by the Company as they reduce the number of shares that would have otherwise been issued.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Employees can also utilize a cashless for cash exercise of stock options, such that all exercised shares will be sold in the market immediately. Cash equivalent to the exercise price of the awards plus the employees&#x2019; minimum statutory tax obligations is remitted to the Company, with the remaining cash being transferred to the employee. Total net proceeds from the cashless for cash exercise of stock options were $<ix:nonFraction id="c93265134" contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USD" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" format="ixt:numdotdecimal" decimals="-3">13,786</ix:nonFraction>, $<ix:nonFraction id="c93265135" contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USD" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" format="ixt:numdotdecimal" decimals="-3">38,787</ix:nonFraction>, and $<ix:nonFraction id="c93265136" contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USD" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" format="ixt:numdotdecimal" decimals="-3">13,089</ix:nonFraction>&#xa0;for the years ended <em style="font: inherit;"> December 31,&#xa0;</em><em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively, and are reflected as a financing activity in the consolidated statements of cash flows.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Total payments made by the Company to the taxing authorities for the employees&#x2019; tax obligations related to stock option exercises were $<ix:nonFraction id="c93265140" contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USD" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3">14,089</ix:nonFraction>, $<ix:nonFraction id="c93265141" contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USD" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-4">31,680</ix:nonFraction>, and $<ix:nonFraction id="c93265142" contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USD" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3">7,297</ix:nonFraction>&#xa0;for the years ended <em style="font: inherit;"> December 31,&#xa0;</em><em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively, and are reflected as a financing activity in the consolidated statements of cash flows.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The grant-date fair value of each option grant is estimated using the Black-Scholes-Merton option pricing model. The fair value is then amortized on a straight-line basis over the requisite service period of the awards, which is generally the vesting period. Use of a valuation model requires management to make certain assumptions with respect to selected model inputs. Expected volatility is calculated based on an analysis of historic volatility of the Company&#x2019;s stock price. The average expected life is based on the contractual term of the option using the simplified method. The risk-free interest rate is based on U.S. Treasury <em style="font: inherit;">zero</em>-coupon issues with a remaining term equal to the expected life assumed at the date of grant. The compensation expense recognized is net of estimated forfeitures. Forfeitures are estimated based on actual share option forfeiture history and are trued up upon vesting based on actual forfeiture activity.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">67</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The weighted-average assumptions used in the Black-Scholes-Merton option pricing model for <em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em> are as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" id="c2284716" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="10" rowspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>Year Ended December 31,</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Weighted average grant date fair value per share</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265215" contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">129.38</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265216" contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">129.47</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265217" contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">35.79</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Assumptions:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Expected stock price volatility</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265219" contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="Pure" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" format="ixt:numdotdecimal" decimals="2">38</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265220" contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="Pure" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" format="ixt:numdotdecimal" decimals="2">37</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265221" contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="Pure" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" format="ixt:numdotdecimal" decimals="2">32</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Risk free interest rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265222" contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="Pure" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" format="ixt:numdotdecimal" decimals="4">1.54</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265223" contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="Pure" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" format="ixt:numdotdecimal" decimals="4">0.45</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265224" contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="Pure" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" format="ixt:numdotdecimal" decimals="4">1.56</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Expected annual dividend per share</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265225" contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USDPerShare" name="gnrc:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265226" contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USDPerShare" name="gnrc:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265227" contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USDPerShare" name="gnrc:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare" scale="0" format="ixt:zerodash" decimals="INF">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Expected life of options (years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" id="c93265228" format="ixt-sec:duryear">6.25</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" id="c93265229" format="ixt-sec:duryear">6.25</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-EmployeeStockOptionMember" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" id="c93265230" format="ixt-sec:duryear">6.25</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">A summary of the Company&#x2019;s stock option activity and related information for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em> is as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="c2284717" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Number of Options</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Weighted-Average Exercise Price</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Weighted-Average Remaining Contractual Term (in years)</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Aggregate Intrinsic Value ($ in thousands)</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Outstanding as of December 31, 2019</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265235" contextRef="i_2019-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" format="ixt:numdotdecimal" decimals="INF">1,592,686</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265236" contextRef="i_2019-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">42.04</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2019-01-01_2019-12-31" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="c93265237" format="ixt-sec:duryear">6.9</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265238" contextRef="i_2019-12-31" unitRef="USD" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="3" format="ixt:numdotdecimal" decimals="-3">93,242</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265239" contextRef="d_2020-01-01_2020-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" format="ixt:numdotdecimal" decimals="INF">173,650</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265240" contextRef="d_2020-01-01_2020-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">102.32</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93265243" contextRef="d_2020-01-01_2020-12-31" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" format="ixt:numdotdecimal" decimals="INF">216,196</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265244" contextRef="d_2020-01-01_2020-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">39.88</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93265247" contextRef="d_2020-01-01_2020-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">21,450</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265248" contextRef="d_2020-01-01_2020-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">50.25</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Outstanding as of December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93265251" contextRef="i_2020-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" format="ixt:numdotdecimal" decimals="INF">1,528,690</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265252" contextRef="i_2020-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">49.08</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2020-01-01_2020-12-31" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="c93265253" format="ixt-sec:duryear">6.3</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265254" contextRef="i_2020-12-31" unitRef="USD" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="3" format="ixt:numdotdecimal" decimals="-3">272,553</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265255" contextRef="d_2021-01-01_2021-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" format="ixt:numdotdecimal" decimals="INF">70,392</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265256" contextRef="d_2021-01-01_2021-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">335.70</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93265259" contextRef="d_2021-01-01_2021-12-31" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" format="ixt:numdotdecimal" decimals="INF">229,921</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265260" contextRef="d_2021-01-01_2021-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">45.95</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93265263" contextRef="d_2021-01-01_2021-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">27,030</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265264" contextRef="d_2021-01-01_2021-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">63.27</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Outstanding as of December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93265267" contextRef="i_2021-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" format="ixt:numdotdecimal" decimals="INF">1,342,131</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265268" contextRef="i_2021-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">64.29</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonNumeric contextRef="d_2021-01-01_2021-12-31" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="c93265269" format="ixt-sec:duryear">5.5</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265270" contextRef="i_2021-12-31" unitRef="USD" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="3" format="ixt:numdotdecimal" decimals="-3">386,069</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265271" contextRef="d_2022-01-01_2022-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" format="ixt:numdotdecimal" decimals="INF">109,266</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265272" contextRef="d_2022-01-01_2022-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">282.20</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93265275" contextRef="d_2022-01-01_2022-12-31" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" format="ixt:numdotdecimal" decimals="INF">137,305</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265276" contextRef="d_2022-01-01_2022-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">36.91</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93265279" contextRef="d_2022-01-01_2022-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">45,688</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265280" contextRef="d_2022-01-01_2022-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">194.05</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">&#xa0;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Outstanding as of December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"><ix:nonFraction id="c93265283" contextRef="i_2022-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" format="ixt:numdotdecimal" decimals="INF">1,268,404</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265284" contextRef="i_2022-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">81.35</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="c93265285" format="ixt-sec:duryear">4.9</ix:nonNumeric></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265286" contextRef="i_2022-12-31" unitRef="USD" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="3" format="ixt:numdotdecimal" decimals="-3">47,764</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Exercisable as of December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265287" contextRef="i_2022-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" scale="0" format="ixt:numdotdecimal" decimals="INF">982,934</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265288" contextRef="i_2022-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" format="ixt:numdotdecimal" decimals="INF">50.86</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">4.1</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">44,904</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">As of <em style="font: inherit;"> December 31, 2022</em>, there was $<ix:nonFraction id="c93265153" contextRef="i_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USD" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" scale="3" format="ixt:numdotdecimal" decimals="-3">16,098</ix:nonFraction>&#xa0;of total unrecognized compensation cost, net of expected forfeitures, related to unvested options. The cost is expected to be recognized over the remaining service period, having a weighted-average period of <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="c93265154" format="ixt-sec:duryear">2.8</ix:nonNumeric>&#xa0;years. Total share-based compensation cost related to&#xa0;stock options for the years ended <em style="font: inherit;"> December 31,&#xa0;</em><em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em> was $<ix:nonFraction id="c93265158" contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">6,911</ix:nonFraction>, $<ix:nonFraction id="c93265159" contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">6,462</ix:nonFraction>, and $<ix:nonFraction id="c93265160" contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-EmployeeStockOptionMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-4">5,860</ix:nonFraction>, respectively, which is recorded in operating expenses in the consolidated statements of comprehensive income.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Restricted Stock</b> &#x2013; Restricted stock awards vest in equal installments over <span style="-sec-ix-hidden:c93265161">three</span> years, subject to the grantee&#x2019;s continued employment or service. Certain restricted stock awards also include performance shares, whereby the number of performance shares that can be earned are contingent upon Company performance measures over a <span style="-sec-ix-hidden:c93265162">three</span>-year period. Performance measures are based on a weighting of a number of financial metrics, from which grantees <em style="font: inherit;"> may </em>earn from <ix:nonFraction id="c93265163" contextRef="i_2022-12-31_RangeAxis-MinimumMember" unitRef="Pure" name="gnrc:PerformanceShareAwardPercentage" scale="-2" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>% to <ix:nonFraction id="c93265164" contextRef="i_2022-12-31_RangeAxis-MaximumMember" unitRef="Pure" name="gnrc:PerformanceShareAwardPercentage" scale="-2" format="ixt:numdotdecimal" decimals="0">200</ix:nonFraction>% of their target performance share award. The&#xa0;performance period for the <em style="font: inherit;">2020</em>&#xa0;awards covers the years <em style="font: inherit;">2020</em>&#xa0;through <em style="font: inherit;">2022,</em>&#xa0;the performance period for the <em style="font: inherit;">2021</em>&#xa0;awards covers the years <em style="font: inherit;">2021</em>&#xa0;through <em style="font: inherit;">2023,</em> and the performance period for the <em style="font: inherit;">2022</em>&#xa0;awards covers the years <em style="font: inherit;">2022</em>&#xa0;through <em style="font: inherit;">2024.</em>&#xa0;The Company estimates the number of performance shares that will vest based on projected financial performance. The fair value of restricted awards is determined based on the market value of the Company's shares on the grant date. The fair market value of the restricted awards at the time of the grant is amortized to expense over the period of vesting. The compensation expense recognized for restricted share awards is net of estimated forfeitures and is trued up upon vesting based on actual forfeiture activity.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Restricted stock vesting is net-share settled such that, upon vesting, the Company withholds shares with value equivalent to the employees&#x2019; minimum statutory tax obligation, and then pays the cash to the taxing authorities on behalf of the employees. In effect, the Company repurchases these shares and classifies them as treasury stock. Total shares withheld were <ix:nonFraction id="c93265174" contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-RestrictedStockMember" unitRef="Share" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="INF">92,008</ix:nonFraction>, <ix:nonFraction id="c93265175" contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-RestrictedStockMember" unitRef="Share" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="INF">80,583</ix:nonFraction>, and <ix:nonFraction id="c93265176" contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-RestrictedStockMember" unitRef="Share" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="INF">70,718</ix:nonFraction>&#xa0;for the years ended <em style="font: inherit;"> December 31,&#xa0;</em><em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively, and were based on the value of the stock on the vesting dates. Total payments made by the Company to the taxing authorities for the employees&#x2019; tax obligations related to restricted stock vesting&#xa0;were $<ix:nonFraction id="c93265180" contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-RestrictedStockMember" unitRef="USD" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3">26,834</ix:nonFraction>, $<ix:nonFraction id="c93265181" contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-RestrictedStockMember" unitRef="USD" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3">27,223</ix:nonFraction>, and $<ix:nonFraction id="c93265182" contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-RestrictedStockMember" unitRef="USD" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" format="ixt:numdotdecimal" decimals="-3">7,613</ix:nonFraction>&#xa0;for the years ended <em style="font: inherit;"> December 31,&#xa0;</em><em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively, and are reflected as a financing activity within the consolidated statements of cash flows.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">68</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
   <ix:exclude>&#xa0;</ix:exclude>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">A summary of the Company's restricted stock activity for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em> is as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" id="c2284718" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Shares</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Weighted-Average Grant-Date Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 64%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Non-vested as of December 31, 2019</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265293" contextRef="i_2019-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" format="ixt:numdotdecimal" decimals="INF">491,637</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265294" contextRef="i_2019-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">52.84</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265295" contextRef="d_2020-01-01_2020-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">183,868</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265296" contextRef="d_2020-01-01_2020-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">95.14</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Vested</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93265297" contextRef="d_2020-01-01_2020-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">200,390</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265298" contextRef="d_2020-01-01_2020-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">45.10</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93265299" contextRef="d_2020-01-01_2020-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">18,921</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265300" contextRef="d_2020-01-01_2020-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">56.58</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Non-vested as of December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93265301" contextRef="i_2020-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" format="ixt:numdotdecimal" decimals="INF">456,194</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265302" contextRef="i_2020-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">68.42</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265303" contextRef="d_2021-01-01_2021-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">126,339</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265304" contextRef="d_2021-01-01_2021-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">223.09</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Vested</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93265305" contextRef="d_2021-01-01_2021-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">202,327</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265306" contextRef="d_2021-01-01_2021-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">58.99</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c93265307" contextRef="d_2021-01-01_2021-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">14,241</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265308" contextRef="d_2021-01-01_2021-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">138.64</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Non-vested as of December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c93265309" contextRef="i_2021-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" format="ixt:numdotdecimal" decimals="INF">365,965</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265310" contextRef="i_2021-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">124.25</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265311" contextRef="d_2022-01-01_2022-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">287,821</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265312" contextRef="d_2022-01-01_2022-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">214.58</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Vested</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93265313" contextRef="d_2022-01-01_2022-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">234,284</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265314" contextRef="d_2022-01-01_2022-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">83.52</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;">(<ix:nonFraction id="c93265315" contextRef="d_2022-01-01_2022-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="0" format="ixt:numdotdecimal" decimals="INF">41,204</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265316" contextRef="d_2022-01-01_2022-12-31" unitRef="USDPerShare" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" format="ixt:numdotdecimal" decimals="INF">263.47</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Non-vested as of December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265317" contextRef="i_2022-12-31" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" format="ixt:numdotdecimal" decimals="INF">378,298</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">203.04</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">As of <em style="font: inherit;"> December 31, 2022</em>, there was $<ix:nonFraction id="c93265189" contextRef="i_2022-12-31_AwardTypeAxis-RestrictedStockMember" unitRef="USD" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" scale="3" format="ixt:numdotdecimal" decimals="-3">48,934</ix:nonFraction>&#xa0;of unrecognized compensation cost, net of expected forfeitures, related to non-vested restricted stock awards. That cost is expected to be recognized over the remaining service period, having a weighted-average period of <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-RestrictedStockMember" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="c93265190" format="ixt-sec:duryear">2.1</ix:nonNumeric>&#xa0;years. Total share-based compensation cost related to the restricted stock for the years ended <em style="font: inherit;"> December 31,&#xa0;</em><em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, inclusive of performance shares, was $<ix:nonFraction id="c93265194" contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-RestrictedStockAndPerformanceSharesMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-4">22,570</ix:nonFraction>, $<ix:nonFraction id="c93265195" contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-RestrictedStockAndPerformanceSharesMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">17,492</ix:nonFraction>, and $<ix:nonFraction id="c93265196" contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-RestrictedStockAndPerformanceSharesMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">15,022</ix:nonFraction>, respectively, which is recorded in operating expenses in the consolidated statements of comprehensive income.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">During <em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, <ix:nonFraction id="c93265200" contextRef="d_2022-01-01_2022-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember" unitRef="Share" name="us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued" scale="0" format="ixt:numdotdecimal" decimals="INF">8,572</ix:nonFraction>, <ix:nonFraction id="c93265201" contextRef="d_2021-01-01_2021-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember" unitRef="Share" name="us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued" scale="0" format="ixt:numdotdecimal" decimals="INF">4,677</ix:nonFraction>, and <ix:nonFraction id="c93265202" contextRef="d_2020-01-01_2020-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember" unitRef="Share" name="us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued" scale="0" format="ixt:numdotdecimal" decimals="INF">15,275</ix:nonFraction>&#xa0;shares of stock, respectively,&#xa0;were granted to certain members of the Company&#x2019;s Board of Directors as a component of their compensation for their service on the Board, all of which&#xa0;were fully vested at time of grant. A non-employee director&#xa0;can elect to receive his or her director fees in the form of deferred stock units, which voluntarily defers the issuance of the related shares granted until the director separates from the Company or a triggering event occurs. <ix:nonFraction id="c93265203" contextRef="d_2022-01-01_2022-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember" unitRef="Share" name="gnrc:DeferredCompensationArrangementWithIndividualSharesGranted" scale="0" format="ixt:numdotdecimal" decimals="INF">5,008</ix:nonFraction>, <ix:nonFraction id="c93265204" contextRef="d_2021-01-01_2021-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember" unitRef="Share" name="gnrc:DeferredCompensationArrangementWithIndividualSharesGranted" scale="0" format="ixt:numdotdecimal" decimals="INF">3,160</ix:nonFraction>, and <ix:nonFraction id="c93265205" contextRef="d_2020-01-01_2020-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember" unitRef="Share" name="gnrc:DeferredCompensationArrangementWithIndividualSharesGranted" scale="0" format="ixt:numdotdecimal" decimals="INF">10,528</ix:nonFraction>&#xa0;of deferred stock units are included in the shares of stock granted to certain members of the Company&#x2019;s Board of Directors for the years <em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em>, and <em style="font: inherit;">2020</em>, respectively. Total share-based compensation cost for these share grants in <em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em> was $<ix:nonFraction id="c93265212" contextRef="d_2022-01-01_2022-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember" unitRef="USD" name="us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">1,886</ix:nonFraction>, $<ix:nonFraction id="c93265213" contextRef="d_2021-01-01_2021-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember" unitRef="USD" name="us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">1,579</ix:nonFraction>, and $<ix:nonFraction id="c93265214" contextRef="d_2020-01-01_2020-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember" unitRef="USD" name="us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">1,558</ix:nonFraction>, respectively, which is recorded in operating expenses in the consolidated statements of comprehensive income.</p>
  </ix:nonNumeric>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="c2284719" escape="true">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width: 22px; vertical-align: top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b><a id="commncon" title="commncon" href="#"></a><em style="font: inherit;">18.</em></b></p> </td><td style="vertical-align: top; width: 1953px;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b>Commitments and Contingencies</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company has an arrangement with a finance company to provide floor plan financing for certain dealers. The Company receives payment from the finance company after shipment of product to the dealer. The Company participates in the cost of dealer financing up to certain limits and has agreed to repurchase products repossessed by the finance company, but does <em style="font: inherit;">not</em> indemnify the finance company for any credit losses they incur. The amount financed by dealers which remained outstanding under this arrangement at <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em> was approximately $<ix:nonFraction id="c93265322" contextRef="i_2022-12-31" unitRef="USD" name="gnrc:AmountFinancedByDealers" scale="3" format="ixt:numdotdecimal" decimals="-5">212,200</ix:nonFraction>&#xa0;and $<ix:nonFraction id="c93265323" contextRef="i_2021-12-31" unitRef="USD" name="gnrc:AmountFinancedByDealers" scale="3" format="ixt:numdotdecimal" decimals="-5">115,900</ix:nonFraction>, respectively.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> August 1, 2022, </em>Power Home Solar, LLC d/b/a Pink Energy filed a lawsuit in the Western District of Virginia against Generac Power Systems, Inc., a wholly-owned subsidiary of the Company&#xa0;(&#x201c;Generac Power&#x201d;).&#xa0;The complaint alleges breaches of warranty, product liability, and other various causes of action against Generac Power relating to the sale and performance of certain clean energy equipment and seeks to recover damages, including consequential damages, that Power Home Solar allegedly incurred.&#xa0;The Company&#xa0;disputes the allegations in the complaint, including that Power Home Solar can seek consequential damages or amounts greater than the $<ix:nonFraction id="c93265324" contextRef="d_2022-08-01_2022-08-01_LitigationCaseAxis-PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember_RangeAxis-MinimumMember" unitRef="USD" name="us-gaap:LossContingencyDamagesSoughtValue" scale="3" format="ixt:numdotdecimal" decimals="-6">25,000</ix:nonFraction>&#xa0;liability cap set forth in the agreement between the parties. On <em style="font: inherit;"> September 23, 2022, </em>Generac Power moved to dismiss the complaint and compel arbitration consistent with the parties&#x2019; agreement.&#xa0;On <em style="font: inherit;"> October 7, 2022, </em>Power Home Solar, LLC filed a Chapter <em style="font: inherit;">7</em> bankruptcy petition in the Western District of North Carolina that identified Generac Power&#xa0;as <em style="font: inherit;">one</em> of its&#xa0;outstanding creditors.&#xa0; The petition listed a $<ix:nonFraction id="c93265327" contextRef="i_2022-10-07_CounterpartyNameAxis-PowerHomeSolarLlcMember_LossContingenciesByNatureOfContingencyAxis-CollectibilityOfReceivablesMember" unitRef="USD" name="us-gaap:AccountsReceivableGross" scale="3" format="ixt:numdotdecimal" decimals="-5">17,700</ix:nonFraction> liability to Generac Power, which Power Home Solar characterized as disputed.&#xa0;The $<ix:nonFraction id="c93265328" contextRef="i_2022-10-07_CounterpartyNameAxis-PowerHomeSolarLlcMember_LossContingenciesByNatureOfContingencyAxis-CollectibilityOfReceivablesMember" unitRef="USD" name="us-gaap:AccountsReceivableGross" scale="3" format="ixt:numdotdecimal" decimals="-5">17,700</ix:nonFraction>&#xa0;claim relates to equipment that Generac Power sold to Power Home Solar but was <em style="font: inherit;">not</em> paid for.&#xa0;The parties agreed to toll Power Home Solar&#x2019;s deadline to respond to the motion to dismiss after Power Home Solar filed the&#xa0;petition for bankruptcy to allow the bankruptcy trustee to evaluate the complaint.&#xa0;The Company&#xa0;intends to vigorously defend against the claims in the complaint, whichever forum in which it <em style="font: inherit;"> may </em>proceed.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> October 28, 2022, </em>Daniel Haak filed a putative class action lawsuit against Generac Power in the Middle District of Florida.&#xa0;The complaint alleges breaches of warranty, tort-based, and unjust enrichment claims against Generac Power relating to the sale and performance of certain clean energy products, and seeks to recover damages, including consequential damages, that the plaintiff and putative class allegedly incurred.&#xa0;The Company disputes the allegations and intends to vigorously defend against the claims in the complaint, including that plaintiff and the putative class can seek consequential damages. Genera Power filed a motion to dismiss&#xa0;the complaint on <em style="font: inherit;"> December 28, 2022.&#xa0;</em></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Four additional putative class actions were filed by consumers of Generac clean energy products between <em style="font: inherit;"> November 21, 2022 </em>and <em style="font: inherit;"> February 2, 2023. </em>These complaints assert claims for breaches of warranty, tort-based, statutory, and unjust enrichment claims against Generac Power or the Company and seek to recover damages, including consequential damages, that plaintiffs and putative class allegedly incurred. The cases are pending in the Eastern District of Wisconsin (<i>Basler, et al. v. Generac Power Systems, Inc.</i>, Case <em style="font: inherit;">No.</em> <em style="font: inherit;">22</em>-cv-<em style="font: inherit;">01386</em>-NJ and <i>Dillon v. Generac Power Systems, Inc.</i>, Case <em style="font: inherit;">No.</em> <em style="font: inherit;">23</em>-cv-<em style="font: inherit;">00034</em>-NJ), the Northern District of California (<i>Moon v. Generac Power Systems, Inc. et al.</i>, Case <em style="font: inherit;">No.</em> <em style="font: inherit;">22</em>-cv-<em style="font: inherit;">09183</em>-CRB), and the Eastern District of California (<i>Locatell v. Generac Power Systems, Inc., et al.</i>, Case <em style="font: inherit;">No.</em> <em style="font: inherit;">23</em>-cv-<em style="font: inherit;">00203</em>-TLN). The Company disputes the allegations and intends to vigorously defend against the claims in the complaints. Generac Power&#x2019;s motion to dismiss the <i>Basler </i>complaint is pending with the court.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> December 1, 2022, </em>Oakland County Voluntary Employees&#x2019; Beneficiary Association and Oakland County Employees&#x2019; Retirement System filed a putative securities class action lawsuit against the Company and certain of its officers in the Eastern District of Wisconsin. On <em style="font: inherit;"> January 20, 2023, </em>the California Ironworkers Field Pension Trust filed a related putative securities class action, also in the United States District Court for the Eastern District of Wisconsin. Both complaints assert claims for alleged violation of federal securities law related to disclosures of quality issues in Generac&#x2019;s clean energy product, reliance on channel partners, and accounting for warranty reserves. The plaintiffs seek to represent a class of individuals who purchased or otherwise acquired common stock between <em style="font: inherit;"> April 29, 2021 </em>and <em style="font: inherit;"> November 1, 2022 </em>and ask for unspecified compensatory damages and other relief on behalf of a purported class of purchasers. Motions to consolidate the putative class actions and to appoint lead plaintiff have been filed and are pending with the court. In addition, in relation to the aforementioned cases, on <em style="font: inherit;"> February 3, 2023, </em>a purported Company shareholder filed a shareholder derivative action&#xa0;against certain of the Company&#x2019;s officers and directors in the United States District Court for the Eastern District of Wisconsin.&#xa0;The complaint seeks unspecified damages on behalf of the Company and certain other relief, such as certain reforms to corporate governance practices.&#xa0;The complaint (in which the Company is named as a nominal defendant) generally alleges, among other things, breaches of fiduciary duties in connection with the oversight of the Company&#x2019;s public statements and legal compliance, and that the Company was damaged as a result of the breaches of fiduciary duties, and the defendants were unjustly enriched.&#xa0;The complaint also alleges, among other things, violations of Sections <em style="font: inherit;">14</em>(a), <em style="font: inherit;">10</em>(b) and <em style="font: inherit;">20</em>(a) of the Securities Exchange Act of <em style="font: inherit;">1934,</em> abuse of control, gross mismanagement, and waste of corporate assets.&#xa0;The Company disputes the allegations and intends to vigorously defend against the claims in the complaint.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> October 28, 2022, </em>Generac Power received a grand jury subpoena from the U.S. Attorney for the Eastern District of Michigan, as a result of which the Company became aware of an enforcement investigation by the U.S. Department of Justice (&#x201c;DOJ&#x201d;).&#xa0;The subpoena requests similar documents and information provided by the Company to the U.S. EPA and the CARB in response to civil document requests related to the Company&#x2019;s compliance with emissions regulations for approximately <em style="font: inherit;">1,850</em> portable generators produced by the Company in <em style="font: inherit;">2019</em> and <em style="font: inherit;">2020</em> and sold in <em style="font: inherit;">2020.</em> The Company is cooperating with both the DOJ and the EPA and CARB inquiries.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> November 30, 2022, </em>the CPSC&#xa0;notified the Company of its intention to recommend the imposition of a penalty for failing to timely submit a report under section <em style="font: inherit;">19</em>(a)(<em style="font: inherit;">4</em>) of the CPSA, <em style="font: inherit;">15</em> U.S.C. &#xa7; <em style="font: inherit;">2068</em>(a)(<em style="font: inherit;">4</em>), in relation to certain portable generators that were subject to a voluntary recall previously announced on <em style="font: inherit;"> July 29, 2021.&#xa0;</em>Although the Company is cooperating with the CPSC on this matter, the matter is unresolved and still pending ongoing discussion with the CPSC.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">In the opinion of management, it is presently unlikely that any legal or regulatory proceedings pending against or involving the Company will have a material adverse effect on the Company&#x2019;s financial condition, results of operations or cash flows. However, in many of these matters, it is inherently difficult to determine whether a loss is probable&#xa0;or to estimate the size or range of the possible loss given the variety and potential outcomes of actual and potential claims, the uncertainty of future rulings, the behavior or incentives of adverse parties, and other factors outside the control of the Company. Accordingly, the Company&#x2019;s loss reserves <em style="font: inherit;"> may </em>change from time to time, and actual losses could exceed the amounts reserved by an amount that could be material to the Company&#x2019;s consolidated financial position, results of operations or cash flows in any particular reporting period.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">69</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:QuarterlyFinancialInformationTextBlock" id="c2284720" escape="true">
   <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b><em style="font: inherit;">19.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b>Quarterly Financial Information (Unaudited)</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock" id="c450FC0B1-F795-44AA-B389-41AC79C5352B" escape="true" continuedAt="c73E293E6-4030-4800-85C3-C7D611A0CA5B">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Quarters Ended 2022</em></em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Q1</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Q2</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Q3</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Q4</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265365" contextRef="d_2022-01-01_2022-03-31" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">1,135,856</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265366" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">1,291,391</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265367" contextRef="d_2022-07-01_2022-09-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">1,088,258</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265368" contextRef="d_2022-10-01_2022-12-31" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">1,049,232</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross profit</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265369" contextRef="d_2022-01-01_2022-03-31" unitRef="USD" name="us-gaap:GrossProfit" scale="3" format="ixt:numdotdecimal" decimals="-3">360,748</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265370" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:GrossProfit" scale="3" format="ixt:numdotdecimal" decimals="-3">456,985</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265371" contextRef="d_2022-07-01_2022-09-30" unitRef="USD" name="us-gaap:GrossProfit" scale="3" format="ixt:numdotdecimal" decimals="-3">361,104</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265372" contextRef="d_2022-10-01_2022-12-31" unitRef="USD" name="us-gaap:GrossProfit" scale="3" format="ixt:numdotdecimal" decimals="-3">343,167</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265373" contextRef="d_2022-01-01_2022-03-31" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">154,735</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265374" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">216,844</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265375" contextRef="d_2022-07-01_2022-09-30" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">87,523</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265376" contextRef="d_2022-10-01_2022-12-31" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">107,228</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income attributable to Generac Holdings Inc.</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265377" contextRef="d_2022-01-01_2022-03-31" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">113,858</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265378" contextRef="d_2022-04-01_2022-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">156,359</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265379" contextRef="d_2022-07-01_2022-09-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-4">58,270</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265380" contextRef="d_2022-10-01_2022-12-31" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">71,015</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income attributable to common shareholders per common share - basic:</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265381" contextRef="d_2022-01-01_2022-03-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">1.61</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265382" contextRef="d_2022-04-01_2022-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">2.24</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265383" contextRef="d_2022-07-01_2022-09-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">0.84</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265384" contextRef="d_2022-10-01_2022-12-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">0.84</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income attributable to common shareholders per common share - diluted:</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265385" contextRef="d_2022-01-01_2022-03-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">1.57</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265386" contextRef="d_2022-04-01_2022-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">2.21</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265387" contextRef="d_2022-07-01_2022-09-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">0.83</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265388" contextRef="d_2022-10-01_2022-12-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">0.83</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
   <ix:continuation id="c73E293E6-4030-4800-85C3-C7D611A0CA5B">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Quarters Ended 2021</em></em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Q1</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Q2</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Q3</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Q4</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265397" contextRef="d_2021-01-01_2021-03-31" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">807,434</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265398" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">919,981</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265399" contextRef="d_2021-07-01_2021-09-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">942,698</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265400" contextRef="d_2021-10-01_2021-12-31" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" format="ixt:numdotdecimal" decimals="-3">1,067,071</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Gross profit</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265401" contextRef="d_2021-01-01_2021-03-31" unitRef="USD" name="us-gaap:GrossProfit" scale="3" format="ixt:numdotdecimal" decimals="-3">321,814</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265402" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:GrossProfit" scale="3" format="ixt:numdotdecimal" decimals="-3">339,735</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265403" contextRef="d_2021-07-01_2021-09-30" unitRef="USD" name="us-gaap:GrossProfit" scale="3" format="ixt:numdotdecimal" decimals="-3">335,994</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265404" contextRef="d_2021-10-01_2021-12-31" unitRef="USD" name="us-gaap:GrossProfit" scale="3" format="ixt:numdotdecimal" decimals="-3">362,539</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Operating income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265405" contextRef="d_2021-01-01_2021-03-31" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">189,124</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265406" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">182,952</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265407" contextRef="d_2021-07-01_2021-09-30" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">173,579</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265408" contextRef="d_2021-10-01_2021-12-31" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">175,481</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to Generac Holdings Inc.</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265409" contextRef="d_2021-01-01_2021-03-31" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">148,993</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265410" contextRef="d_2021-04-01_2021-06-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">127,036</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265411" contextRef="d_2021-07-01_2021-09-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-4">131,570</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265412" contextRef="d_2021-10-01_2021-12-31" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="3" format="ixt:numdotdecimal" decimals="-3">142,895</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to common shareholders per common share - basic:</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265413" contextRef="d_2021-01-01_2021-03-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">2.39</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265414" contextRef="d_2021-04-01_2021-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">2.06</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265415" contextRef="d_2021-07-01_2021-09-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">1.98</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265416" contextRef="d_2021-10-01_2021-12-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">2.09</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to common shareholders per common share - diluted:</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265417" contextRef="d_2021-01-01_2021-03-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">2.33</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265418" contextRef="d_2021-04-01_2021-06-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">2.01</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265419" contextRef="d_2021-07-01_2021-09-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">1.93</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265420" contextRef="d_2021-10-01_2021-12-31" unitRef="USDPerShare" name="us-gaap:EarningsPerShareDiluted" scale="0" format="ixt:numdotdecimal" decimals="INF">2.04</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:continuation>
  </ix:nonNumeric>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" id="c2284723" escape="true">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b><em style="font: inherit;">20.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b>Valuation and Qualifying Accounts</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">For the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="gnrc:ValuationAndQualifyingAccountsTableTextBlock" id="c2284724" escape="true">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Balance at Beginning of Year</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Additions Charged to Earnings</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Additions Charged to Retained Earnings (1)</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Charges to Reserve, Net (2)</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Reserves Established for Acquisitions</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Balance at End of Year</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Year ended December 31, 2022</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Allowance for credit losses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265436" contextRef="i_2021-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" format="ixt:numdotdecimal" decimals="-3">12,025</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265437" contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">17,966</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265438" contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93265439" contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">2,825</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265440" contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember" unitRef="USD" name="gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired" scale="3" format="ixt:numdotdecimal" decimals="-3">498</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265441" contextRef="i_2022-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" format="ixt:numdotdecimal" decimals="-3">27,664</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Reserves for inventory</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265442" contextRef="i_2021-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" format="ixt:numdotdecimal" decimals="-3">33,537</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265443" contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">9,656</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265444" contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93265445" contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">4,737</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265446" contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember" unitRef="USD" name="gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired" scale="3" format="ixt:numdotdecimal" decimals="-3">1,258</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265447" contextRef="i_2022-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" format="ixt:numdotdecimal" decimals="-3">39,714</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Valuation of deferred tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265448" contextRef="i_2021-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" format="ixt:numdotdecimal" decimals="-3">7,874</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265449" contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">649</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265450" contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93265451" contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">1,501</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(<ix:nonFraction id="c93265452" contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember" unitRef="USD" name="gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">2,384</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><ix:nonFraction id="c93265453" contextRef="i_2022-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" format="ixt:numdotdecimal" decimals="-3">4,638</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Year ended December 31, 2021</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;">Allowance for credit losses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265455" contextRef="i_2020-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" format="ixt:numdotdecimal" decimals="-3">12,001</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265456" contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">206</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265457" contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93265458" contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease" scale="3" format="ixt:numdotdecimal" decimals="-4" sign="-">1,640</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265459" contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember" unitRef="USD" name="gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired" scale="3" format="ixt:numdotdecimal" decimals="-3">1,458</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265460" contextRef="i_2021-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" format="ixt:numdotdecimal" decimals="-3">12,025</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;">Reserves for inventory</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265461" contextRef="i_2020-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" format="ixt:numdotdecimal" decimals="-3">27,817</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265462" contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">17,698</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265463" contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93265464" contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">15,749</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265465" contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember" unitRef="USD" name="gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired" scale="3" format="ixt:numdotdecimal" decimals="-3">3,771</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265466" contextRef="i_2021-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" format="ixt:numdotdecimal" decimals="-3">33,537</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;">Valuation of deferred tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265467" contextRef="i_2020-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" format="ixt:numdotdecimal" decimals="-4">5,740</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265468" contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">1,404</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265469" contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93265470" contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">2,441</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265471" contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember" unitRef="USD" name="gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired" scale="3" format="ixt:numdotdecimal" decimals="-3">3,171</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265472" contextRef="i_2021-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" format="ixt:numdotdecimal" decimals="-3">7,874</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td><td>&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Year ended December 31, 2020</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;">Allowance for credit losses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265474" contextRef="i_2019-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" format="ixt:numdotdecimal" decimals="-3">6,968</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265475" contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">4,645</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265476" contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts" scale="3" format="ixt:numdotdecimal" decimals="-3">1,147</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93265477" contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">957</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265478" contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember" unitRef="USD" name="gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired" scale="3" format="ixt:numdotdecimal" decimals="-3">198</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265479" contextRef="i_2020-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" format="ixt:numdotdecimal" decimals="-3">12,001</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;">Reserves for inventory</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265480" contextRef="i_2019-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" format="ixt:numdotdecimal" decimals="-3">24,293</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265481" contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">11,353</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265482" contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c93265483" contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease" scale="3" format="ixt:numdotdecimal" decimals="-3" sign="-">8,788</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265484" contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember" unitRef="USD" name="gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired" scale="3" format="ixt:numdotdecimal" decimals="-3">959</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265485" contextRef="i_2020-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" format="ixt:numdotdecimal" decimals="-3">27,817</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;">Valuation of deferred tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265486" contextRef="i_2019-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" format="ixt:numdotdecimal" decimals="-3">5,024</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265487" contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" format="ixt:numdotdecimal" decimals="-3">716</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265488" contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265489" contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265490" contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember" unitRef="USD" name="gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired" scale="3" format="ixt:zerodash" decimals="-3">-</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c93265491" contextRef="i_2020-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember" unitRef="USD" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" format="ixt:numdotdecimal" decimals="-4">5,740</ix:nonFraction></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#xa0;</td></tr>
</tbody></table>
   </ix:nonNumeric>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#xa0;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">1</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Result of adopting ASU <em style="font: inherit;">2016</em>-<em style="font: inherit;">13,</em>&#xa0;<i>Financial Instruments &#x2013; Credit Losses (Topic&#xa0;<em style="font: inherit;">326</em>)</i>:&#xa0;<i>Measurement of Credit Losses on Financial Instruments.</i></p> </td></tr>
<tr><td style="width:18pt;">&#xa0;</td><td style="width:18pt;vertical-align:top;">(<em style="font: inherit;">2</em>)</td><td style="vertical-align:top;">Deductions from the allowance for doubtful accounts equal accounts receivable written off against the allowance, less recoveries, as well as foreign currency translation adjustments. Deductions from the reserves for inventory excess and obsolete items equal inventory written off against the reserve as items were disposed of, as well as foreign currency translation adjustments.&#xa0;</td></tr>
</tbody></table>
  </ix:nonNumeric>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <ix:nonNumeric contextRef="d_2022-01-01_2022-12-31" name="us-gaap:SubsequentEventsTextBlock" id="c2284725" escape="true">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">21.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Subsequent Events</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">On <em style="font: inherit;"> February 1, 2023&#xa0;</em>the Company acquired REFU Storage Systems (REFUstor), headquartered in Pfullingen, Germany<span style="color:#000000;">.&#xa0;</span>REFUstor is a developer and supplier of battery storage hardware products, advanced software, and platform services for the commercial and industrial market.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
   <ix:exclude>
    <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     <em style="font: inherit;">70</em>
    </div>
    <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
    <div class="PGHDR" style="text-align: left; width: 100%">
     <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
    </div>
   </ix:exclude>
  </ix:nonNumeric>
  <div>
    &#xa0;
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b><a id="item9" title="item9" href="#"></a>Item&#xa0;9. Changes in and Disagreements with Accountants</b><b> on Accounting and Financial Disclosure</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">There were no changes in, or disagreements with, accountants reportable herein.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <div>
    &#xa0;
  </div>
  <div><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b><a id="item9a" title="item9a" href="#"></a>Item&#xa0;9A. Controls and Procedures</b></p>
<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Evaluation of Disclosure Controls and Procedures</b></p>
<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Disclosure controls and procedures are controls and other procedures that are designed to ensure that information required to be disclosed by us in reports we file or submit under the Securities Exchange Act of 1934 (Exchange Act), is recorded, processed, summarized and reported within the time periods specified in the Securities and Exchange Commission rules and forms. Disclosure controls and procedures include, without limitation, controls and procedures designed to ensure that such information is accumulated and communicated to our management, including our Chief Executive Officer and Chief Financial Officer, as appropriate, to allow for timely decisions regarding required disclosure.</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Our management, with the participation of our Chief Executive Officer and our Chief Financial Officer, has conducted an evaluation of the design and operation of our disclosure controls and procedures as defined in Rule 13a-15(e) and 15d-15(e) under the Exchange Act as of the end of the period covered by this report on Form&#xa0;10-K. Based on that evaluation, our Chief Executive Officer and Chief Financial Officer concluded that our disclosure controls and procedures were effective in providing reasonable assurance that the information required to be disclosed in this report on Form 10-K has been recorded, processed, summarized and reported as of the end of the period covered by this report on Form 10-K.</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Management&#x2019;s Report on Internal Control Over Financial Reporting</b></p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Our management is responsible for establishing and maintaining adequate internal control over financial reporting, as defined in Rule 13a-15(f) and 15d-15(f) under the Exchange Act. Our internal control over financial reporting is designed under the supervision of our Chief Executive Officer and Chief Financial Officer to provide reasonable assurance regarding the reliability of financial reporting and the preparation of the consolidated financial statements in accordance with U.S. GAAP.</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Internal control over financial reporting includes those policies and procedures that (i) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the Company; (ii) provide reasonable assurance that transactions are recorded as necessary to permit preparation of the financial statements in accordance with U.S. GAAP, and that receipts and expenditures of the Company are being made only in accordance with authorizations of management and directors of the Company; and (iii) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the Company&#x2019;s assets that could have a material effect on the Company&#x2019;s financial statements.</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 18pt; text-align: justify;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">There are inherent limitations to the effectiveness of any internal control over financial reporting, including the possibility of human error or the circumvention or overriding of the controls.&#xa0;Accordingly, even an effective internal control over financial reporting can provide only reasonable assurance of achieving its objective. Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate, because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 18pt; text-align: justify;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Under the supervision and with the participation of our Chief Executive Officer and Chief Financial Officer, our management conducted an assessment of the effectiveness of internal control over financial reporting as of December 31, 2022 based on the criteria established in the 2013 <i>Internal Control &#x2013; Integrated Framework</i>, issued by the Committee of Sponsoring Organizations of the Treadway Commission (COSO).&#xa0;Based on this assessment, our management has concluded that our internal control over financial reporting was effective as of December 31, 2022.&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#xa0;</p>
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><ix:nonNumeric name="dei:AuditorName" contextRef="d_2022-01-01_2022-12-31">Deloitte &amp; Touche LLP</ix:nonNumeric> (PCAOB ID No. <ix:nonNumeric name="dei:AuditorFirmId" contextRef="d_2022-01-01_2022-12-31">34</ix:nonNumeric>), the Company&#x2019;s independent registered public accounting firm, issued an attestation report on the effectiveness of the Company&#x2019;s internal control over financial reporting as of December 31, 2022, which is included herein.</p>
<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#xa0;</b></p>
<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Changes in Internal Control Over Financial Reporting</b></p>
<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">There have been no changes in our internal control over financial reporting that occurred during the three months ended December 31, 2022 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.<b>&#xa0;</b></p>
<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
 <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
  71
 </div>
 <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
 <div class="PGHDR" style="text-align: left; width: 100%">
  <a style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt" href="#toc">Table of Contents</a>
 </div>
</div>
<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p></div>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b><a id="item9b" title="item9b" href="#"></a>Item&#xa0;9B. Other Information</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">None</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b><a id="item9c" title="item9c" href="#"></a>Item&#xa0;9C. Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">None</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><a id="part3" title="part3" href="#"></a>PART III</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b><a id="item10" title="item10" href="#"></a>Item&#xa0;10. Directors, Executive Officers and Corporate Governance</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The information required by Item 10 not already provided herein under &#x201c;Item 1 &#x2013; Business &#x2013; Information About Our Executive Officers&#x201d;, will be included in our 2023&#xa0;Proxy Statement and is incorporated herein by reference.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b><a id="item11" title="item11" href="#"></a>Item&#xa0;11. Executive Compensation</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The information required by this item will be included in our 2023&#xa0;Proxy Statement and is incorporated herein by reference.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b><a id="item12" title="item12" href="#"></a>Item&#xa0;12. Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The information required by this item, including under the heading &#x201c;Securities Authorized for Issuance Under Equity Compensation Plans,&#x201d; will be included in our 2023&#xa0;Proxy Statement and is incorporated herein by reference.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b><a id="item13" title="item13" href="#"></a>Item&#xa0;13. Certain Relationships and Related Transactions, and Director Independence</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The information required by this item will be included in our 2023&#xa0;Proxy Statement and is incorporated herein by reference.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b><a id="item14" title="item14" href="#"></a>Item&#xa0;14. Principal Accountant Fees and Servic</b><b>es</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The information required by this item will be included in our 2023&#xa0;Proxy Statement and is incorporated herein by reference.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><a id="part4" title="part4" href="#"></a>PART IV</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b><a id="item15" title="item15" href="#"></a>Item&#xa0;15. Exhibits and Financial Statement Schedules</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#xa0;</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>(a)(1) Financial Statements</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Included in Part&#xa0;II of this report:</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:95.4%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="vertical-align:bottom;width:85.7%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 14.3%; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Page</b></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:85.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;"><a href="#report" style="-sec-extract:exhibit;">Reports of Independent Registered Public Accounting Firm</a></p> </td>
     <td style="vertical-align:bottom;width:14.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><a class="tocPGNUM" href="#report">36</a></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:85.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;"><a href="#bs" style="-sec-extract:exhibit;">Consolidated balance sheets as of December 31, 2022 and 2021</a></p> </td>
     <td style="vertical-align:bottom;width:14.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><a class="tocPGNUM" href="#bs">39</a></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:85.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;"><a href="#income" style="-sec-extract:exhibit;">Consolidated statements of comprehensive income for years ended December 31, 2022, 2021 and 2020</a></p> </td>
     <td style="vertical-align:bottom;width:14.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><a class="tocPGNUM" href="#income">40</a></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:85.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;"><a href="#equity" style="-sec-extract:exhibit;">Consolidated statements of stockholders&#x2019; equity for years ended December 31, 2022, 2021 and 2020</a></p> </td>
     <td style="vertical-align:bottom;width:14.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><a class="tocPGNUM" href="#equity">41</a></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:85.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;"><a href="#cf" style="-sec-extract:exhibit;">Consolidated statements of cash flows for the years ended December 31, 2022, 2021 and 2020</a></p> </td>
     <td style="vertical-align:bottom;width:14.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><a class="tocPGNUM" href="#cf">42</a></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:85.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-10pt;"><a href="#notes" style="-sec-extract:exhibit;">Notes to consolidated financial statements</a></p> </td>
     <td style="vertical-align:bottom;width:14.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><a class="tocPGNUM" href="#notes">43</a></p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>(a)(2) Financial Statement Schedules</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">All financial statement schedules have been omitted, since the required information is not applicable or is not present in amounts sufficient to require submission of the schedule, or because the information required is included in the consolidated financial statements and notes thereto.</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     72
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>(a)(3) Exhibits</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The below exhibits index is the list of the exhibits being filed or furnished with or incorporated by reference into this Annual Report on Form 10-K:</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td colspan="2" rowspan="1" style="vertical-align: bottom; width: 10%; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Exhibits<br /> Number</b></p> </td>
     <td rowspan="1" style="vertical-align: bottom; width: 2%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 88%; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Description</b></p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&#xa0;</p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%; padding-left: 9pt;">2.1</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000104746910002937/a2197602zex-3_1.htm" style="-sec-extract:exhibit;">Arrangement Agreement dated as of November 1, 2021 by and among 13462234 Canada Inc., Generac Power Systems, Inc., ecobee Inc., and Shareholder Representative Services LLC (incorporated by reference to Exhibit 2.1 of the Company's Current Report on Form 8-K filed with the SEC on November 2, 2021).</a></td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0; &#xa0;2.2</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774922019367/ex_406744.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Amendment No. 1, dated as of May 31, 2022, to Arrangement Agreement dated as of November 1, 2021, by and among 13462234 Canada Inc., Generac Power Systems, Inc., ecobee Inc., and Shareholder Representative Services LLC (incorporated by reference to Exhibit 10.2 of the Quarterly Report on Form 10-Q filed with the SEC on August 8, 2022).</span></a></td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0; &#xa0;2.3*</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"><a href="ex_469392.htm" style="-sec-extract:exhibit;">Amendment, dated as of December 29, 2022, to Arrangement Agreement dated as of November 1, 2021 by and among 13462234 Canada Inc., Generac Power Systems, Inc., ecobee Inc., and Shareholder Representative Services LLC</a>.</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">3.1</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000104746910002937/a2197602zex-3_1.htm" style="-sec-extract:exhibit;">Third Amended and Restated Certificate of Incorporation of Generac Holdings&#xa0;Inc. (incorporated by reference to Exhibit 3.1 of the Company&#x2019;s Annual Report on Form 10-K for the fiscal year ended December 31, 2009).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">3.2</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774916025339/ex3-1.htm" style="-sec-extract:exhibit;">Amended and Restated Bylaws of Generac Holdings Inc. (incorporated by reference to Exhibit 3.1 of the Company&#x2019;s Current Report on Form 8-K filed with the SEC on February 16, 2016).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">4.1</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000104746910000285/a2196063zex-4_1.htm" style="-sec-extract:exhibit;">Form of Common Stock Certificate (incorporated by reference to Exhibit 4.1 of the Registration Statement on Form S-1 filed with the SEC on January 25, 2010).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">4.2</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774920003516/ex_172898.htm" style="-sec-extract:exhibit;">Description of Securities&#xa0;(incorporated by reference to Exhibit 4.2 of the Annual Report on Form 10-K filed with the SEC on February 25, 2020).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.1</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000110465913046543/a13-14243_1ex10d2.htm" style="-sec-extract:exhibit;">Credit Agreement, Dated as of February 9, 2012, As Amended and Restated as of May 30, 2012, As Further Amended and Restated as of May 31, 2013, among Generac Power Systems, Inc., Generac Acquisition Corp., the lenders party thereto, JPMorgan Chase Bank, N.A., as Administrative Agent and Bank of America, N.A. and Goldman Sachs Bank USA, as syndication agent (incorporated by reference to Exhibit 10.2 to the Company&#x2019;s Current Report on Form 8-K filed with the SEC on June 4, 2013)</a>.</p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%; padding-left: 9pt;">10.2</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774916041001/ex10-1.htm" style="-sec-extract:exhibit;">First Amendment dated as of May 18, 2015, to Credit Agreement, dated as of February 9, 2012, as amended and restated as of May 30, 2012, as further amended and restated as of May 31, 2013, among Generac Power Systems, Inc., Generac Acquisition Corp., the lenders party thereto, JPMorgan Chase Bank, N.A. as administrative agent and Bank of America, N.A. and Goldman Sachs Bank USA, as syndication agents and Deutsche Bank Securities Inc., Morgan Stanley Senior Funding, Inc. and Wells Fargo Bank, N.A. as document agents (incorporated by reference to Exhibit 10.2 to the Company's Quarterly Report on Form 10-Q filed with the SEC on August 7, 2015).</a></td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.3</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774916041001/ex10-1.htm" style="-sec-extract:exhibit;">Replacement Term Loan Amendment dated as of November 2, 2016, among Generac Power Systems, Inc., Generac Acquisition Corp., the lenders party thereto, JPMorgan Chase Bank, N.A., as Administrative Agent, and the other agents named therein (incorporated by reference to Exhibit 10.1 to the Company&#x2019;s Current Report on Form 8-K filed with the SEC on November 3, 2016).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.4</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774917009034/ex10-1.htm" style="-sec-extract:exhibit;">2017 Replacement Term Loan Amendment dated as of May 11, 2017, among Generac Power Systems, Inc., Generac Acquisition Corp., the lenders party thereto, JPMorgan Chase Bank, N.A., as Administrative Agent, and the other agents named therein (incorporated by reference to Exhibit 10.1 to the Company&#x2019;s Current Report on Form 8-K filed with the SEC on May 15, 2017).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.5</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774917020473/ex_101827.htm" style="-sec-extract:exhibit;">2017-2 Replacement Term Loan Amendment dated as of December 8, 2017, among Generac Power Systems, Inc., Generac Acquisition Corp., the lenders party thereto, JPMorgan Chase Bank, N.A., as Administrative Agent, and the other agents named therein (incorporated by reference to Exhibit 10.1 to the Company&#x2019;s Current Report on Form 8-K filed with the SEC on December 11, 2017).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.6</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774918011755/ex_116401.htm" style="-sec-extract:exhibit;">2018 Replacement Term Loan Amendment, dated as of June 8, 2018, among Generac Power Systems, Inc., Generac Acquisition Corp., the lenders party thereto, JPMorgan Chase Bank, N.A., as Administrative Agent, and the other agents named therein (incorporated by reference to Exhibit 10.1 of the Current Report on Form 8-K filed with the SEC on June 14, 2018).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.7</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774919024445/ex_167459.htm" style="-sec-extract:exhibit;">2019 Replacement Term Loan Amendment, dated as of December 13, 2019, among Generac Power Systems, Inc., Generac Acquisition Corp., the lenders party thereto, JPMorgan Chase Bank, N.A., as Administrative Agent, and the other agents named therein (incorporated by reference to Exhibit 10.1 of the Current Report on Form 8-K filed with the SEC on December 16, 2019).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%; padding-left: 9pt;">10.8</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"><a href="http://www.sec.gov/Archives/edgar/data/0001474735/000143774921013716/ex_253880.htm" style="-sec-extract:exhibit;">Second Amendment, dated as of May 27, 2021, amending that certain Credit Agreement, dated as of February 9, 2012, as amended and restated as of May 30, 2012, as further amended and restated as of May 31, 2013, as amended by the First Amendment, dated as of May 18, 2015, as further amended by the Replacement Term Loan Amendment, dated as of November 2, 2016, as further amended by the 2017 Replacement Term Loan Amendment, dated as of May 11, 2017, as further amended by the 2017-2 Replacement Term Loan Amendment, dated December 8, 2017, as further amended by the 2018 Replacement Term Loan Amendment, dated June 8, 2018, and as further amended by the 2019 Replacement Term Loan Amendment, dated December 13, 2019, among Generac Power Systems, Inc., Generac Acquisition Corp., the other Loan Parties (as defined therein) party thereto, the lenders party thereto, JPMorgan Chase Bank, N.A., as Administrative Agent and the other agents named therein (incorporated by reference to Exhibit 10.2 of the Current Report on Form 8-K filed with the SEC on May 28, 2021).</a></td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%; padding-left: 9pt;">10.9</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774922016225/ex_391195.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Third Amendment, dated as of June 29, 2022, amending and restating that certain Credit Agreement, dated as of February 9, 2012, as amended and restated as of May 30, 2012, as further amended and restated as of May 31, 2013, as amended by the First Amendment, dated as of May 18, 2015, as further amended by the Replacement Term Loan Amendment, dated as of November 2, 2016, as further amended by the 2017 Replacement Term Loan Amendment, dated as of May 11, 2017, as further amended by the 2017-2 Replacement Term Loan Amendment, dated December 8, 2017, as further amended by the 2018 Replacement Term Loan Amendment, dated June 8, 2018, as further amended by the 2019 Replacement Term Loan Amendment, dated December 13, 2019 and as further amended by the Second Amendment, dated May 27, 2021, among Generac Power Systems, Inc., Generac Acquisition Corp., the other Loan Parties (as defined therein) party thereto, the lenders party thereto, JPMorgan Chase Bank, N.A., as Administrative Agent and the other agents named therein (incorporated by reference to Exhibit 10.1 of the Current Report on Form 8-K filed with the SEC on June 30, 2022.</span></a></td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%; padding-left: 9pt;">10.10*</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"><a href="ex_476961.htm" style="-sec-extract:exhibit;">First Amendment, dated as of January 31, 2023, to that certain Credit Agreement, dated as of February 9, 2012, as amended and restated as of May 30, 2012, as further amended and restated as of May 31, 2013, as amended by the First Amendment, dated as of May 18, 2015, as further amended by the Replacement Term Loan Amendment, dated as of November 2, 2016, as further amended by the 2017 Replacement Term Loan Amendment, dated as of May 11, 2017, as further amended by the 2017-2 Replacement Term Loan Amendment, dated December 8, 2017, as further amended by the 2018 Replacement Term Loan Amendment, dated June 8, 2018, as further amended by the 2019 Replacement Term Loan Amendment, dated December 13, 2019, as further amended by the Second Amendment, dated May 27, 2021, and as further amended and restated by the Third Amendment, dated June 29, 2022, among Generac Power Systems, Inc., Generac Acquisition Corp., the other Loan Parties (as defined therein) party thereto, the lenders party thereto, JPMorgan Chase Bank, N.A., as Administrative Agent and the other agents named therein.</a></td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.11</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000110465913046543/a13-14243_1ex10d1.htm" style="-sec-extract:exhibit;">Restatement Agreement, dated as of May 31, 2013, to that certain Credit Agreement, dated as of February 9, 2012, as amended and restated as of May 30, 2012, among Generac Power Systems, Inc., Generac Acquisition Corp., the lenders party thereto, JPMorgan Chase Bank, N.A., as Administrative Agent, and Bank of America, N.A. and Goldman Sachs Bank USA, as syndication agents (incorporated by reference to Exhibit 10.1 to the Company&#x2019;s Current Report on Form 8-K filed with the SEC on June 4, 2013).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.12</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000110465912041005/a12-13434_1ex10d2.htm" style="-sec-extract:exhibit;">Guarantee and Collateral Agreement, dated as of February 9, 2012, as amended and restated as of May 30, 2012, among Generac Holdings Inc., Generac Acquisition Corp., Generac Power Systems, Inc., certain subsidiaries of Generac Power Systems, Inc. and JPMorgan Chase Bank, N.A., as Administrative Agent (incorporated by reference to Exhibit 10.2 of the Company&#x2019;s Current Report on Form 8-K filed with the SEC on May 31, 2012).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.13</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000110465913046543/a13-14243_1ex10d3.htm" style="-sec-extract:exhibit;">First Amendment to Guarantee and Collateral Agreement dated as of May 31, 2013, among Generac Holdings Inc., Generac Acquisition Corp., Generac Power Systems, Inc., certain subsidiaries of Generac Power Systems, Inc. and JPMorgan Chase Bank, N.A., as Administrative Agent (incorporated by reference to Exhibit 10.3 to the Company&#x2019;s Current Report on Form 8-K filed with the SEC on June 4, 2013).</a></p> </td>
    </tr>

   </tbody>
  </table>
  <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     73
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%; border-bottom: thin solid rgb(0, 0, 0);"><b>Exhibits<br /> Number</b></td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 88%; text-align: center; border-bottom: thin solid rgb(0, 0, 0);"><b>Description</b></td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.14</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000110465912041005/a12-13434_1ex10d3.htm" style="-sec-extract:exhibit;">Credit Agreement, dated as of May 30, 2012, among Generac Power Systems, Inc., its Domestic Subsidiaries listed as Borrowers on the signature pages thereto, Generac Acquisition Corp., the lenders party thereto, Bank of America, N.A. as Administrative Agent, JPMorgan Chase Bank, N.A. and Goldman Sachs Bank USA, as syndication agents, and Wells Fargo Bank, National Association, as Documentation Agent (incorporated by reference to Exhibit 10.3 of the Company&#x2019;s Current Report on Form 8-K filed with the SEC on May 31, 2012).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.15</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000110465913046543/a13-14243_1ex10d4.htm" style="-sec-extract:exhibit;">Amendment No. 1 dated as of May 31, 2013, among Generac Power Systems, Inc., its Domestic Subsidiaries listed as Borrowers on the signature pages thereto, Generac Acquisition Corp., the lenders party thereto, Bank of America, N.A. as Administrative Agent, JPMorgan Chase Bank, N.A. and Goldman Sachs Bank USA, as syndication agents, and Wells Fargo Bank, National Association, as Documentation Agent (incorporated by reference to Exhibit 10.4 to the Company&#x2019;s Current Report on Form 8-K filed with the SEC on June 4, 2013).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.16</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774915011443/ex10-1.htm" style="-sec-extract:exhibit;">Amendment No. 2 dated as of May 29, 2015, among Generac Power Systems, Inc., its Domestic Subsidiaries listed as Borrowers on the signature pages thereto, Generac Acquisition Corp., the lenders party thereto, Bank of America, N.A. as Administrative Agent, and the other agents named therein (incorporated by reference to Exhibit 10.1 of the Company&#x2019;s Current Report on Form 8-K filed with the SEC on June 1, 2015).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.17</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774918011755/ex_116402.htm" style="-sec-extract:exhibit;">Second Amended and Restated Credit Agreement, dated as of June 12, 2018, among Generac Power Systems, Inc., its Subsidiaries listed as Borrowers on the signature pages thereto, Generac Acquisition Corp., the lenders party thereto, Bank of America, N.A. as Administrative Agent, JPMorgan Chase Bank, N.A., as Syndication Agent, and Wells Fargo Bank, National Association, as Documentation Agent (incorporated by reference to Exhibit 10.2 of the Current Report on Form 8-K filed with the SEC on June 14, 2018).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%; padding-left: 9pt;">10.18</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"><a href="http://www.sec.gov/Archives/edgar/data/0001474735/000143774921013716/ex_253879.htm" style="-sec-extract:exhibit;">Third Amended and Restated Credit Agreement, dated as of May 27, 2021, among Generac Power Systems, Inc., its Subsidiaries listed as Borrowers on the signature pages thereto, Generac Acquisition Corp., the lenders party thereto, Bank of America, N.A. as Administrative Agent, JPMorgan Chase Bank, N.A. as Syndication Agent, and Wells Fargo Bank, National Association as Documentation Agent (incorporated by reference to Exhibit 10.1 of the Current Report on Form 8-K filed with the SEC on May 28, 2021).</a></td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.19</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000110465912041005/a12-13434_1ex10d4.htm" style="-sec-extract:exhibit;">Guarantee and Collateral Agreement, dated as of May 30, 2012, among Generac Holdings Inc., Generac Acquisition Corp., Generac Power Systems, Inc., certain subsidiaries of Generac Power Systems, Inc. and Bank of America, N.A., as Administrative Agent (incorporated by reference to Exhibit 10.4 of the Company&#x2019;s Current Report on Form 8-K filed with the SEC on May 31, 2012).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.20</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000110465913046543/a13-14243_1ex10d5.htm" style="-sec-extract:exhibit;">First Amendment to Guarantee and Collateral Agreement dated as of May 31, 2013, among Generac Holdings Inc., Generac Acquisition Corp., Generac Power Systems, Inc., certain subsidiaries of Generac Power Systems, Inc. and Bank of America, N.A., as Administrative Agent (incorporated by reference to Exhibit 10.5 to the Company&#x2019;s Current Report on Form 8-K filed with the SEC on June 4, 2013).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.21+</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000104746912004891/a2208974zdef14a.htm#la47301_appendix_a" style="-sec-extract:exhibit;">Generac Holdings Inc. Amended and Restated 2010 Equity Incentive Plan (incorporated by reference to Appendix A to the Definitive Proxy Statement on Schedule 14A of the Company filed with the SEC on April 27, 2012)</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.22+</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000104746910000285/a2196063zex-10_63.htm" style="-sec-extract:exhibit;">Generac Holdings&#xa0;Inc. Annual Performance Bonus Plan (incorporated by reference to Exhibit 10.63 of the Registration Statement on Form S-1 filed with the SEC on January 25, 2010).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.23+</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774918019673/ex_128192.htm" style="-sec-extract:exhibit;">Amended and Restated Employment Agreement, dated November 5, 2018, between Generac and Aaron Jagdfeld (incorporated by reference to Exhibit 10.1 of the Company&#x2019;s Quarterly Report on Form 10-Q filed with the SEC on November 6, 2018).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.24</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000104746909010392/a2195620zex-10_40.htm" style="-sec-extract:exhibit;">Form of Confidentiality, Non-Competition and Intellectual Property Agreement (incorporated by reference to Exhibit 10.40 of the Registration Statement on Form S-1 filed with the SEC on November 24, 2009).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.25+</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000104746910000285/a2196063zex-10_45.htm" style="-sec-extract:exhibit;">Form of Nonqualified Stock Option Award Agreement (incorporated by reference to Exhibit 10.45 of the Registration Statement on Form S-1 filed with the SEC on January 25, 2010).</a></p> </td>
    </tr>

   </tbody>
  </table>
  <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     74
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%; border-bottom: thin solid rgb(0, 0, 0);"><b>Exhibits<br /> Number</b></td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 88%; text-align: center; border-bottom: thin solid rgb(0, 0, 0);"><b>Description</b></td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.26+</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000147473512000025/exh10_3.htm" style="-sec-extract:exhibit;">Amended Form of Restricted Stock Award Agreement pursuant to the 2010 Equity Incentive Plan (incorporated by reference to Exhibit 10.3 of the Quarterly Report on Form 10-Q filed with the SEC on May 8, 2012).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.27+</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000147473512000025/exh10_4.htm" style="-sec-extract:exhibit;">Amended Form of Nonqualified Stock Option Award Agreement pursuant to the 2010 Equity Incentive Plan (incorporated by reference to Exhibit 10.4 of the Quarterly Report on Form 10-Q filed with the SEC on May 8, 2012).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.28+</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774919003397/ex_135458.htm" style="-sec-extract:exhibit;">Amended Form of Nonqualified Stock Option Award Agreement pursuant to the 2010 Equity Incentive Plan&#xa0;(incorporated by reference to Exhibit 10.24 of the Annual Report on Form 10-K filed with the SEC on February 26, 2019).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.29+</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774919003397/ex_135459.htm" style="-sec-extract:exhibit;">Amended Form of Restricted Stock Award Agreement pursuant to the 2010 Equity Incentive Plan&#xa0;(incorporated by reference to Exhibit 10.25 of the Annual Report on Form 10-K filed with the SEC on February 26, 2019).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.30</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000104746910000097/a2195969zex-10_51.htm" style="-sec-extract:exhibit;">Form of Director Indemnification Agreement (incorporated by reference to Exhibit 10.51 of the Registration Statement on Form S-1 filed with the SEC on January 11, 2010).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%; padding-left: 9pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; padding-left: 9pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.31</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000104746910000097/a2195969zex-10_52.htm" style="-sec-extract:exhibit;">Form of Officer Indemnification Agreement (incorporated by reference to Exhibit 10.52 of the Registration Statement on Form S-1 filed with the SEC on January 11, 2010).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%; padding-left: 9pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; padding-left: 9pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.32+</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774919003397/ex_135477.htm" style="-sec-extract:exhibit;">Amended Form of Performance Share Award Agreement pursuant to the 2010 Equity Incentive Plan (incorporated by reference to Exhibit 10.29 of the Annual Report on Form 10-K filed with the SEC on February 26, 2019).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.33+</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774922004080/ex_337560.htm" style="-sec-extract:exhibit;">Generac Holdings Inc. Non-Employee Director Compensation Policy&#xa0;(incorporated by reference to Exhibit 10.31 of the Annual Report on Form 10-K filed with the SEC on February 22, 2022).&#xa0;</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.34+</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774918019673/ex_128193.htm" style="-sec-extract:exhibit;">Generac Power Systems, Inc. Executive Change in Control Policy, effective November 5, 2018 (incorporated by reference to Exhibit 10.2 of the Quarterly Report on Form 10-Q filed with the SEC on November 6, 2018).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.35+</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000104746919002640/a2238541zdef14a.htm" style="-sec-extract:exhibit;">Generac Holdings Inc. 2019 Equity Incentive Plan (incorporated by reference to Appendix A to the Definitive Proxy Statement on Schedule 14A of the Company filed with the SEC on April 26, 2019).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.36+</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774919021621/ex_160684.htm" style="-sec-extract:exhibit;">Form of Restricted Stock Award Agreement pursuant to the Generac Holdings Inc. 2019 Equity Incentive Plan (incorporated by reference to Exhibit 10.1 of the Quarterly Report on Form 10-Q filed with the SEC on November 5, 2019).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.37+</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774919021621/ex_160685.htm" style="-sec-extract:exhibit;">Form of Nonqualified Stock Option Award Agreement pursuant to the Generac Holdings Inc. 2019 Equity Incentive Plan&#xa0;(incorporated by reference to Exhibit 10.2 of the Quarterly Report on Form 10-Q filed with the SEC on November 5, 2019).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">10.38+</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="http://www.sec.gov/Archives/edgar/data/1474735/000143774919021621/ex_160686.htm" style="-sec-extract:exhibit;">Form of Performance Share Unit Award Agreement pursuant to the Generac Holdings Inc. 2019 Equity Incentive Plan (incorporated by reference to Exhibit 10.3 of the Quarterly Report on Form 10-Q filed with the SEC on November 5, 2019).</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">21.1*</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="ex_436923.htm" style="-sec-extract:exhibit;">List of Subsidiaries of Generac Holdings&#xa0;Inc.</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">23.1*</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="ex_436924.htm" style="-sec-extract:exhibit;">Consent of Deloitte &amp; Touche LLP, Independent Registered Public Accounting Firm.</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">31.1*</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="ex_436925.htm" style="-sec-extract:exhibit;">Certification of Chief Executive Officer pursuant to Securities Exchange Act Rules&#xa0;13a-14(a) and 15d-14(a), pursuant to Section&#xa0;302 of the Sarbanes-Oxley Act of 2002.</a></p> </td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;">&#xa0;</td>
    </tr>

    <tr>
     <td colspan="2" style="vertical-align: top; width: 10%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">31.2*</p> </td>
     <td style="vertical-align: top; width: 2%;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="ex_436926.htm" style="-sec-extract:exhibit;">Certification of Chief Financial Officer pursuant to Securities Exchange Act Rules&#xa0;13a-14(a) and 15d-14(a), pursuant to Section&#xa0;302 of the Sarbanes-Oxley Act of 2002.</a></p> </td>
    </tr>

   </tbody>
  </table>
  <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     75
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td colspan="2" style="vertical-align: top; width: 10%; border-bottom: thin solid rgb(0, 0, 0); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Exhibits<br /> Number</b></td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: bottom; width: 88%; text-align: center; border-bottom: thin solid rgb(0, 0, 0); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Description</b></td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td colspan="2" style="vertical-align: top; width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">32.1**</p> </td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><a href="ex_436927.htm" style="-sec-extract:exhibit;">Certification of Chief Executive Officer pursuant to 18 U.S.C. Section&#xa0;1350, as adopted by Section&#xa0;906 of the Sarbanes-Oxley Act of 2002.</a></p> </td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td colspan="2" style="vertical-align: top; width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td colspan="2" style="vertical-align: top; width: 10%; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">32.2**</td>
     <td style="vertical-align: top; width: 2%; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><a href="ex_436928.htm" style="-sec-extract:exhibit;">Certification of Chief Financial Officer pursuant to 18 U.S.C. Section&#xa0;1350, as adopted by Section&#xa0;906 of the Sarbanes-Oxley Act of 2002.</a></td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td colspan="2" style="vertical-align: top; width: 10%; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td colspan="2" style="vertical-align: top; width: 10%; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">101*</td>
     <td style="vertical-align: top; width: 2%; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The following financial information from the Company&#x2019;s Annual Report on Form 10-K for the fiscal year ended December 31, 2022, filed with the SEC on February 22, 2023, formatted in Inline eXtensible Business Reporting Language (iXBRL): (i) Consolidated Balance Sheets at December 31, 2022 and December 31, 2021; (ii) Consolidated Statements of Comprehensive Income for the Fiscal Years Ended December 31, 2022, December 31, 2021 and December 31, 2020; (iii) Consolidated Statements of Stockholders' Equity for the Fiscal Years Ended December 31, 2022, December 31, 2021 and December 31, 2020; (iv) Consolidated Statements of Cash Flows for the Fiscal Years Ended December 31, 2022, December 31, 2021 and December 31, 2020; (v) Notes to Consolidated Financial Statements.</td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td colspan="2" style="vertical-align: top; width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
    </tr>

    <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
     <td colspan="2" style="vertical-align: top; width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt; text-align: left;">104</p> </td>
     <td style="vertical-align: top; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
     <td style="vertical-align: top; width: 88%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Cover Page Interactive Data File (embedded within the Inline XBRL and contained in Exhibit 101)</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">____________________________</p> <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">*&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0; Filed herewith.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:35.3pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-35.3pt;">**&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0; Furnished herewith.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:35pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-35pt;">+&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0; Indicates management contract or compensatory plan or arrangement.</p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b><a id="item16" title="item16" href="#"></a>Item&#xa0;16</b><b>. </b><b>Form 10-K Summary</b></p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">None.</p>
  <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">&#xa0;</p>
  <div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
   <div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">
     76
   </div>
   <hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
   <div class="PGHDR" style="text-align: left; width: 100%">
    <a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">Table of Contents</a>
   </div>
  </div>
  <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>SIGNATURES</b></p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Pursuant to the requirements of Section&#xa0;13 or 15(d) of the Securities Exchange Act of 1934, the Registrant has duly caused this report to be signed on its behalf by the undersigned, thereunto duly authorized.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="vertical-align:top;width:50%;">&#xa0;</td>
     <td colspan="2" style="vertical-align:bottom;width:50%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;font-variant:small-caps;margin:0pt;text-align:left;"><span style="text-transform:uppercase;">Generac Holdings&#xa0;Inc.</span></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:50%;">&#xa0;</td>
     <td colspan="2" style="vertical-align:bottom;width:50%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:50%;">&#xa0;</td>
     <td style="vertical-align:bottom;width:4.7%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">By:</p> </td>
     <td style="vertical-align: bottom; width: 45.3%; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">/s/ <span style="text-transform:uppercase;">Aaron Jagdfeld</span></p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:50%;">&#xa0;</td>
     <td style="vertical-align:bottom;width:4.7%;">&#xa0;</td>
     <td style="vertical-align:bottom;width:45.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Aaron Jagdfeld</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:top;width:50%;">&#xa0;</td>
     <td style="vertical-align:bottom;width:4.7%;">&#xa0;</td>
     <td style="vertical-align:bottom;width:45.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><i>&#xa0;</i><i>Chairman, </i><i>President and Chief Executive Officer </i></p> </td>
    </tr>

   </tbody>
  </table>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Dated: February 22, 2023</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#xa0;</p>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons and on behalf of the Registrant in the capacities and on the dates indicated.</p>
  <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&#xa0;</p>
  <table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">
   <tbody>
    <tr>
     <td style="vertical-align: middle; width: 33.3%; text-align: center;"><b><span style="text-decoration: underline; ">Signature</span></b></td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;"><b><span style="text-decoration: underline; ">Title</span></b></td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;"><b><span style="text-decoration: underline; ">Date</span></b></td>
    </tr>

    <tr>
     <td style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; width: 33.3%; text-align: center; border-bottom: thin solid rgb(0, 0, 0);">/s/<span style="text-transform:uppercase;"> Aaron Jagdfeld</span></td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">Chairman, President and Chief Executive</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">February 22, 2023</td>
    </tr>

    <tr>
     <td style="vertical-align:middle;width:33.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:center;text-indent:-10pt;">Aaron Jagdfeld</p> </td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Officer</p> </td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&#xa0;</p> </td>
    </tr>

    <tr>
     <td style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; width: 33.3%; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:center;text-indent:-10pt;">/s/ <span style="text-transform:uppercase;">York A. Ragen</span></p> </td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Chief Financial Officer and</p> </td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">February 22, 2023</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; width: 33.3%; text-align: center;">York A. Ragen</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">Chief Accounting Officer</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; width: 33.3%; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:center;text-indent:-10pt;">/s/ <span style="text-transform:uppercase;">bennett morgan</span></p> </td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Lead Director</p> </td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">February 22, 2023</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; width: 33.3%; text-align: center;">Bennett Morgan</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; width: 33.3%; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:center;text-indent:-10pt;">/s/ MARCIA J. AVEDON</p> </td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Director</p> </td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">February 22, 2023</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; width: 33.3%; text-align: center;">Marcia J. Avedon</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; width: 33.3%; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:center;text-indent:-10pt;">/s/ JOHN D. BOWLIN</p> </td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Director</p> </td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">February 22, 2023</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; width: 33.3%; text-align: center;">John D. Bowlin</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; width: 33.3%; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:center;text-indent:-10pt;">/s/ ROBERT D. DIXON</p> </td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Director</p> </td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">February 22, 2023</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; width: 33.3%; text-align: center;">Robert D. Dixon</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; width: 33.3%; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:center;text-indent:-10pt;">/s/ WILLIAM JENKINS</p> </td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Director</p> </td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">February 22, 2023</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; width: 33.3%; text-align: center;">William Jenkins</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; width: 33.3%; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:center;text-indent:-10pt;">/s/ <span style="text-transform:uppercase;">Andrew G. Lampereur</span></p> </td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Director</p> </td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">February 22, 2023</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; width: 33.3%; text-align: center;">Andrew G. Lampereur</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; width: 33.3%; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:center;text-indent:-10pt;">/s/ <span style="text-transform:uppercase;">NAM TRAN NGUYEN</span></p> </td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Director</p> </td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">February 22, 2023</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; width: 33.3%; text-align: center;">Nam Tran Nguyen</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; width: 33.3%; border-bottom: thin solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:center;text-indent:-10pt;">/s/ DAVID A. RAMON</p> </td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Director</p> </td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">February 22, 2023</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; width: 33.3%; text-align: center;">David A. Ramon</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:middle;border-bottom:solid 1px #000000;;width:33.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:center;text-indent:-10pt;">/s/ KATHRYN ROEDEL</p> </td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">Director</p> </td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">February 22, 2023</td>
    </tr>

    <tr>
     <td style="vertical-align:middle;border-bottom: 1px #000000;;width:33.3%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:10pt;margin-right:0pt;margin-top:0pt;text-align:center;text-indent:-10pt;">Kathryn Roedel</p> </td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align:middle;border-bottom: 1px #000000;;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; width: 33.3%; border-bottom: 1px solid rgb(0, 0, 0); text-align: center;">/s/ DOMINICK ZARCONE</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">Director</td>
     <td colspan="1" style="vertical-align: middle; width: 33.3%; text-align: center;">February 22, 2023</td>
    </tr>

    <tr>
     <td style="vertical-align: middle; border-bottom: 1px rgb(0, 0, 0); width: 33.3%; text-align: center;">Dominick Zarcone</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
     <td colspan="1" style="vertical-align:middle;width:33.3%;">&#xa0;</td>
    </tr>

   </tbody>
  </table>
  <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:right;">&#xa0;</p>
  <div class="LAST-PAGE-BREAK">
   <div class="PGFTR">
    <div class="hf-row">
     <div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">
       77
     </div>
    </div>
   </div>
  </div>
 </body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-2.3
<SEQUENCE>2
<FILENAME>ex_469392.htm
<DESCRIPTION>EXHIBIT 2.3
<TEXT>
<html><head>
	<title>ex_469392.htm</title>

	<!-- Generated by ThunderDome Portal - 2/16/2023 9:18:12 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding: 0in 0.1in; cursor: auto;">
<p style="margin: 0px 0pt; text-align: right; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&nbsp;</p>

<p style="margin: 0px 0pt; text-align: right; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt"><b>Exhibit 2.3</b></font></p>

<p style="margin: 0px 0pt; text-align: right; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&nbsp;</p>

<div style="text-align: right;"><img alt="img01.jpg" src="img01.jpg"></div>

<p style="margin: 0px 0pt; text-align: left; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 12pt; font-variant: normal; margin: 0pt; text-align: center;"><sub>December 29, 2022</sub></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><u><b>Via Email</b></u></p>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Shareholder Representative Services LLC</p>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Attn: Janelle Dixon</p>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">950 17th Street, Suite 1400</p>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Denver, CO 80202</p>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><u>jdixon@srsacquiom.com</u></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">RE:&nbsp; &nbsp; &nbsp;ecobee Earnout Settlement</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Dear Janelle:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Reference is made to the Agreement and Plan of Arrangement by and among Generac Power Systems, Inc., Generac Holdings Inc., 13462234 Canada Inc., ecobee Inc. and Shareholder Representative Services LLC dated effective as of November 1, 2021 (the &#8220;Agreement&#8221;). Capitalized terms used here but not defined have the meanings provided in the Agreement.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">As we have discussed, Purchaser and the Securityholder Representative have agreed to an early settlement and payment of the Earnout Consideration related to the June 30, 2023 Earnout Measurement Date equal to 90% achievement that amounts to Earnout Consideration of $45,000,000. The Generac Share Value for this Earnout Consideration shall be the volume-weighted average closing price of Generac Common Stock on the New York Stock Exchange over a period of twenty trading days ending on January 6, 2023. Within five Business Days after receiving a Company Securityholder distribution spreadsheet from the Securityholder Representative for such payment (that accounts also for any Transaction Expense payable to Bank of America), Purchaser shall cause Generac Holdings to instruct the Exchange Agent to distribute such Earnout Consideration Shares to Company Securityholders and any corresponding cash amount to Bank of America.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; width: 100%;">

		<tr>
			<td style="width: 50%; padding: 0px; background-color: rgb(255, 153, 102);">&nbsp;</td>
			<td style="width: 50%; text-align: right; padding: 0px; background-color: rgb(255, 153, 102);"><font style="color:#ffffff;">generac.com</font></td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM">&nbsp;</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000">
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink">&nbsp;</div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&nbsp;</p>

<div style="text-align: right;"><img alt="img01.jpg" src="img01.jpg"></div>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">Please confirm your agreement with these terms by signing this letter agreement in the space provided below and return an executed copy to my attention. Purchaser and the Securityholder Representative agree that the payment specified herein is in full and final satisfaction of the Earnout Consideration. Except as expressly amended herein, all other terms and conditions of the Agreement shall continue and remain in full force and effect.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; width: 100%;">

		<tr>
			<td style="width: 50%;">&nbsp;</td>
			<td style="width: 50%;">Sincerely,</td>
		</tr>
		<tr>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td>&nbsp;</td>
			<td>Steve Goran</td>
		</tr>
		<tr>
			<td>&nbsp;</td>
			<td>Chief Strategy Officer</td>
		</tr>
		<tr>
			<td>&nbsp;</td>
			<td>Generac Power Systems, Inc.</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; width: 100%;">

		<tr>
			<td style="width: 50%;">Agreed and accepted as of December&nbsp;<u>29</u>,&nbsp;2022:</td>
			<td style="width: 50%;">&nbsp;</td>
		</tr>
		<tr>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td>SECURITYHOLDER REPRESENTATIVE:</td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td>SHAREHOLDER REPRESENTATIVE SERVICES LLC,</td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td>solely in its capacity as the Securityholder Representative</td>
			<td>&nbsp;</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; width: 100%;">

		<tr>
			<td style="width: 5%;">By:</td>
			<td style="width: 28%; border-bottom: 1px solid rgb(0, 0, 0);">&nbsp;</td>
			<td style="width: 69%;">&nbsp;</td>
		</tr>
		<tr>
			<td style="width: 5%;">Name:</td>
			<td style="width: 28%;">Casey McTigue</td>
			<td style="width: 69%;">&nbsp;</td>
		</tr>
		<tr>
			<td style="width: 5%;">Title:</td>
			<td style="width: 28%;">Managing Director</td>
			<td style="width: 69%;">&nbsp;</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">Cc: John Pitfield, jpitfield@choate.com</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; width: 100%;">

		<tr>
			<td style="width: 50%; padding: 0px; background-color: rgb(255, 153, 102);">&nbsp;</td>
			<td style="width: 50%; padding: 0px; background-color: rgb(255, 153, 102); text-align: right;"><font style="color:#ffffff;">generac.com</font></td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM">&nbsp;</div>
</div>
</div>
</div>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.10
<SEQUENCE>3
<FILENAME>ex_476961.htm
<DESCRIPTION>EXHIBIT 10.10
<TEXT>
<html><head>
	<title>ex_476961.htm</title>

	<!-- Generated by ThunderDome Portal - 2/16/2023 7:03:27 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding: 0in 0.1in; cursor: auto;">
<p style="margin: 0px 0pt; text-align: right; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt"><b>Exhibit 10.10</b></font></p>

<p style="margin: 0px 0pt; text-align: right; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt"><b>Execution</b></font></p>

<p style="margin: 0px 0pt; text-align: left; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>FIRST AMENDMENT</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;text-indent:72pt;">FIRST AMENDMENT, dated as of January 31, 2023 (this &#8220;<u>Agreement</u>&#8221;), to that certain Credit Agreement, dated as of February 9, 2012, as amended and restated as of May 30, 2012, as further amended and restated as of May 31, 2013, and as further amended and restated as of June 29, 2022 (the &#8220;<u>Credit Agreement</u>&#8221;), among Generac Acquisition Corp., a Delaware corporation (&#8220;<u>Holdings</u>&#8221;), Generac Power Systems, Inc., a Wisconsin corporation (the &#8220;<u>Borrower</u>&#8221;), the several lenders from time to time party thereto (the &#8220;<u>Lenders</u>&#8221;), JPMorgan Chase Bank, N.A., as administrative agent (in such capacity, the &#8220;<u>Administrative Agent</u>&#8221;) and the other agents and parties party thereto.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><u>W</u> <u>I</u> <u>T</u> <u>N</u> <u>E</u> <u>S</u> <u>S</u> <u>E</u> <u>T</u> <u>H</u>:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;text-indent:72pt;">WHEREAS, pursuant to the Credit Agreement, the Lenders have agreed to make, and have made, certain loans and other extensions of credit to the Borrower;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;text-indent:72pt;">WHEREAS, the Borrower and the Administrative Agent have jointly identified an obvious error or error or omission of a technical nature in the Credit Agreement;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;text-indent:72pt;">WHEREAS, the Borrower has requested that the Administrative Agent enter into this Agreement to effect certain modifications to the Credit Agreement as described herein (the Credit Agreement, as so modified hereby, the &#8220;<u>Amended Credit Agreement</u>&#8221;) in order to correct, amend or cure such obvious error or error or omission of a technical nature; and</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;text-indent:72pt;">WHEREAS, Section 9.08(e)(ii) of the Credit Agreement permits the Borrower and the Administrative Agent to amend the provision of the Credit Agreement containing such obvious error or error or omission of a technical nature without the input or consent of any Lender or the Required Lenders;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;text-indent:72pt;">WHEREAS, the Borrower and the Administrative Agent are willing to amend the Credit Agreement as set forth herein; and</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;text-indent:72pt;">NOW THEREFORE, in consideration of the premises and mutual covenants hereinafter set forth, the parties hereto agree as follows:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin: 0pt 0pt 0pt 0pt;text-indent:72pt;">SECTION 1.&nbsp;&nbsp;&nbsp;&nbsp;<u>Definitions</u>. Except as otherwise defined herein, all capitalized terms used but not defined herein shall have the meanings ascribed to such terms in the Amended Credit Agreement.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin: 0pt 0pt 0pt 0pt;text-indent:72pt;">SECTION 2.&nbsp;&nbsp;&nbsp;&nbsp;<u>Amendments to the Credit Agreement</u>. The Credit Agreement is hereby amended, effective as of the Effective Date, as follows:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin: 0pt 0pt 0pt 0pt;text-indent:108pt;">2.1.&nbsp;&nbsp;&nbsp;&nbsp;<u>Amendment to Section 6.06(m)(ii)(A)</u>. Section 6.06(m)(ii)(A) of the Credit Agreement is hereby amended by deleting the amount &#8220;$60.0 million&#8221; and substituting in lieu thereof the amount &#8220;$300.0 million&#8221;.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 36pt;text-indent:72pt;">2.2&nbsp; &nbsp; &nbsp;<u>Amendment to Section 6.05(g)</u>. Section 6.05(g) of the Credit Agreement is hereby amended by deleting the reference therein to &#8220;<u>Section 2.11(b)</u>&#8221; and substituting in lieu thereof the reference to &#8220;<u>Section 2.11(a)</u>&#8221;.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 36pt;text-indent:72pt;">2.3&nbsp; &nbsp; &nbsp;<u>Amendment to Section 6.05(dd)</u>. Section 6.05(dd) of the Credit Agreement is hereby amended by deleting the reference therein to &#8220;<u>Section 2.11(b)</u>&#8221; and substituting in lieu thereof the reference to &#8220;<u>Section 2.11(a)</u>&#8221;.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM">&nbsp;</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000">
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink">&nbsp;</div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin: 0pt 0pt 0pt 0pt;text-indent:72pt;">SECTION 3.&nbsp;&nbsp;&nbsp;&nbsp;<u>Effectiveness</u>. This Agreement shall become effective as of the date (the &#8220;<u>Effective Date</u>&#8221;) on which the Borrower and the Administrative Agent shall have executed and delivered this Agreement.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin: 0pt 0pt 0pt 0pt;text-indent:72pt;">SECTION 4.&nbsp;&nbsp;&nbsp;&nbsp;<u>[Reserved]</u>.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin: 0pt 0pt 0pt 0pt;text-indent:72pt;">SECTION 5.&nbsp;&nbsp;&nbsp;&nbsp;<u>Effect of Amendment</u>.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin: 0pt 0pt 0pt 0pt;text-indent:72pt;">5.1.&nbsp;&nbsp;&nbsp;&nbsp;Except as expressly set forth herein, this Agreement shall not by implication or otherwise limit, impair, constitute a waiver of or otherwise affect the rights and remedies of the Lenders or the Administrative Agent under the Credit Agreement, the Amended Credit Agreement or any other Loan Document, and shall not alter, modify, amend or in any way affect any of the terms, conditions, obligations, covenants or agreements contained in the Credit Agreement or any other provision of the Credit Agreement or of any other Loan Document, all of which are ratified and affirmed in all respects and shall continue in full force and effect. Nothing herein shall be deemed to entitle the Borrower to a consent to, or a waiver, amendment, modification or other change of, any of the terms, conditions, obligations, covenants or agreements contained in the Amended Credit Agreement or any other Loan Document in similar or different circumstances. It is the intent of the parties hereto, and the parties hereto agree, that this Agreement shall not constitute a novation of the Credit Agreement, any other Loan Document or any of the rights, obligations or liabilities thereunder.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin: 0pt 0pt 0pt 0pt;text-indent:72pt;">5.2.&nbsp;&nbsp;&nbsp;&nbsp;On and after the Effective Date, each reference in the Credit Agreement to &#8220;this Agreement&#8221;, &#8220;hereunder&#8221;, &#8220;hereof&#8221;, &#8220;herein&#8221;, or words of like import, and each reference to the Credit Agreement in any other Loan Document shall be deemed a reference to the Amended Credit Agreement. This Agreement shall constitute a &#8220;Loan Document&#8221; for all purposes of the Amended Credit Agreement and the other Loan Documents.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin: 0pt 0pt 0pt 0pt;text-indent:72pt;">SECTION 6.&nbsp;&nbsp;&nbsp;&nbsp;<u>General</u>.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin: 0pt 0pt 0pt 0pt;text-indent:108pt;">6.1.&nbsp;&nbsp;&nbsp;&nbsp; <u>GOVERNING LAW</u>. THIS AGREEMENT AND THE RIGHTS AND OBLIGATIONS OF THE PARTIES UNDER THIS AGREEMENT SHALL BE GOVERNED BY, AND CONSTRUED AND INTERPRETED IN ACCORDANCE WITH, THE LAW OF THE STATE OF NEW YORK.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin: 0pt 0pt 0pt 0pt;text-indent:108pt;">6.2.&nbsp;&nbsp;&nbsp;&nbsp;<u>Costs and Expenses</u>. The Borrower agrees to reimburse the Administrative Agent for its reasonable out-of-pocket expenses in connection with the preparation, negotiation and execution of this Agreement, including the reasonable fees, charges and disbursements of counsel for the Administrative Agent in accordance with Section&nbsp;9.05 of the Amended Credit Agreement.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin: 0pt 0pt 0pt 0pt;text-indent:108pt;">6.3.&nbsp;&nbsp;&nbsp;&nbsp;<u>Counterparts</u>. This Agreement may be executed in counterparts (and by different parties hereto on different counterparts), each of which shall constitute an original, but all of which when taken together shall constitute a single contract. Delivery of any executed counterpart of a signature page of this Agreement by telecopy or email transmission shall be effective as delivery of a manually executed counterpart of this Agreement. The words &#8220;execution,&#8221; &#8220;signed,&#8221; &#8220;signature,&#8221; &#8220;delivery,&#8221; and words of like import in or relating to this Agreement shall be deemed to include Electronic Signatures (as defined below), deliveries or the keeping of records in electronic form, each of which shall be of the same legal effect, validity or enforceability as a manually executed signature, physical delivery thereof or the use of a paper-based recordkeeping system, as the case may be. &#8220;Electronic Signatures&#8221; means any electronic symbol or process attached to, or associated with, any contract or other record and adopted by a person with the intent to sign, authenticate or accept such contract or record.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin: 0pt 0pt 0pt 0pt;text-indent:108pt;">6.4.&nbsp;&nbsp;&nbsp;&nbsp;<u>Headings</u>. Article and Section headings are used herein are for convenience of reference only, are not part of this Agreement and are not to affect the construction of, or to be taken into consideration in interpreting, this Agreement.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;">[remainder of page intentionally left blank]</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM">2</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000">
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink">&nbsp;</div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&nbsp;</p>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 108pt;">IN WITNESS WHEREOF, the parties hereto have caused this Agreement to be duly executed and delivered by their respective duly authorized officers as of the day and year first above written.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="text-indent: 0; width: 100%;font-family: 'Times New Roman', Times, serif; font-size: 10pt">

		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td colspan="2" valign="top" width="38%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">GENERAC POWER SYSTEMS, INC.<font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td align="left" nowrap="nowrap" valign="bottom" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td align="left" style="text-align: left;" valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td style="text-align: left" valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">By: </font></p>
			</td>
			<td align="left" nowrap="nowrap" style="BORDER-BOTTOM: #000000 1px solid" valign="top" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">&nbsp;</p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Name:<font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">York A. Ragen<font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Title:<font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Chief Financial Officer<font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>

</table>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 216pt;">&nbsp;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM">
<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Signature Page to First Amendment</p>
</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000">
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink">&nbsp;</div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="text-indent: 0; width: 100%;font-family: 'Times New Roman', Times, serif; font-size: 10pt">

		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td colspan="2" valign="top" width="38%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">JPMORGAN CHASE BANK, N.A., as Administrative Agent<font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td align="left" nowrap="nowrap" valign="bottom" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td align="left" style="text-align: left;" valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td style="text-align: left" valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">By: </font></p>
			</td>
			<td align="left" nowrap="nowrap" style="BORDER-BOTTOM: #000000 1px solid" valign="top" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">&nbsp;</p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Name:<font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Title:<font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM">
<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Signature Page to First Amendment</p>
</div>
</div>
</div>
</div>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21.1
<SEQUENCE>4
<FILENAME>ex_436923.htm
<DESCRIPTION>EXHIBIT 21.1
<TEXT>
<html><head><meta charset="utf-8"><meta name="format-detection" content="telephone=no"><!-- Generated by ThunderDome Portal - 2/16/2023 4:22:21 PM -->
	<title>ex_436923.htm</title>
	<!-- Generated by ThunderDome Portal - 2/16/2023 4:22:21 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0in 0.1in; cursor: auto;">
<p style="font-size: 10pt; margin: 0pt; font-family: Times New Roman; text-align: right;"><b>Exhibit 21.1</b></p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>LISTING OF SUBSIDIARIES OF GENERAC HOLDINGS INC.</b></p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">

		<tr>
			<td style="vertical-align: top; width: 40%; border-bottom: 1px solid rgb(0, 0, 0);"><b>Subsidiaries of the Registrant</b></td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%; border-bottom: 1px solid rgb(0, 0, 0);"><b>State or Other Jurisdiction of Incorporation</b></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Generac Power Systems, Inc.</p>
			</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Wisconsin, U.S</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Generac Mobile Products, LLC</p>
			</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Wisconsin, U.S</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Warehouse Development Group LLC</p>
			</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Wisconsin, U.S.</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Generac Acquisition Corp.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Delaware, U.S</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">MAC, Inc.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Delaware, U.S</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">CHP Holdings, Inc.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Delaware, U.S.</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Country Home Products, Inc.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Delaware, U.S.</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Powermate, LLC</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Delaware, U.S</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Generac Grid Services LLC</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Delaware, U.S.</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Pika Energy, Inc.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Delaware, U.S.</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Power Management Holdings (U.S.), Inc.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Delaware, U.S.</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Enbala U.S. Power Inc.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Delaware, U.S.</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Generac TEP I, LLC</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Delaware, U.S.</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Sunnova TEP V-A, LLC</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Delaware, U.S.</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Tank Utility, Inc.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Delaware, U.S.</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Energy Systems Holdings Inc.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Delaware, U.S.</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Generac Power Plan, Inc.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Vermont, U.S.</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Generac Services, Inc.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Vermont, U.S.</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Route 22A &amp; 1 Main LLC</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Vermont, U.S.</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">MAC Holdings, LLC</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">North Dakota, U.S</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">PR-NA Industries Inc.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Florida, U.S.</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Motortech Americas, L.L.C</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Louisiana, U.S.</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">East Coast Energy Systems LLC</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Massachusetts, U.S.</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Electronic Environments Co. LLC</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Massachusetts, U.S.</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Energy Systems New York, LLC</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">New York, U.S.</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">West Coast Energy Systems LLC</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">California, U.S.</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">ecobee Ltd.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Nevada, U.S.</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Deep Sea Electronics, Inc.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">United States</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">PR Australia PTY Ltd</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Australia</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">PR Middle East WLL</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Bahrain</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Generac do Brasil Ltda</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Brazil</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">GPR Brazil Equipamentos Ltda</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Brazil</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Neurio Technology ULC</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Canada</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Enbala Power Networks ULC</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Canada</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Enbala Power Networks B.C. ULC</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Canada</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">ecobee Technologies ULC</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Canada</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Axcendo Innovation Corporation</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Canada</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Pramac Fu Lee Foshan Power Equipment Ltd</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">China</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Motortech Shanghai Co., Ltd.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">China</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Suzhou Generac Power Systems Co., Ltd</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">China</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Generac Colombia S.A.S.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Colombia</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">GAM Dominicana SA</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Dominican Republic</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Pramac Europe SAS</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">France</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Services &amp; Gestion France Sarl</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">France</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Pramac GmbH</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Germany</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Motortech GmbH</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Germany</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Captiva Energy Solutions Pvt. Ltd.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">India</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Deep Sea Electronics India Private Limited</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">India</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Generac Mobile Products S.r.l</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Italy</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Generac Holdings Italy S.r.l.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Italy</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">PR Industrial S.r.l.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Italy</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Generac Mexico Administracion, S.A. de C.V.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Mexico</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Generac Mexico, S.A. de C.V.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Mexico</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Selmec Equipos Industriales, S.A. de C.V.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Mexico</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Generac Servicios Mantenimiento, S.A. de C.V.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Mexico</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Servicios Administrativos Selmec, S.A. de C.V.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Mexico</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Generac Hidalgo, S.A. de C.V.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Mexico</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">GMH 2020, S. de R.L. de C.V.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Mexico</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Pramac Sp. Z.o.o.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Poland</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Motortech Polska Sp. Z.o.o.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Poland</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Pramac Generators S.r.l.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Romania</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Pramac RUS Ltd</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Russia</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Pramac Iberica S.A.U.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">Spain</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">PR Middle East Fze</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">United Arab Emirates</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Generac UK Acquisition Limited</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">United Kingdom</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Generac UK DSE Topco Limited</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">United Kingdom</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Generac UK DSE Midco Limited</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">United Kingdom</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Generac UK DSE Bidco Limited</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">United Kingdom</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Deep Sea Electronics Limited</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">United Kingdom</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Generac Holdings UK Limited</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">United Kingdom</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Generac Global UK Limited</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">United Kingdom</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Ottomotores Nominees Limited</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">United Kingdom</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Generac Mobile Products UK Ltd.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">United Kingdom</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Pramac - Generac UK Ltd.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">United Kingdom</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Pramac Racing Limited</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">United Kingdom</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">DSE Development Limited</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">United Kingdom</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Off Grid Energy Limited</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">United Kingdom</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 40%;">Cocoon Labs Ltd.</td>
			<td style="vertical-align: top; width: 2%;">&nbsp;</td>
			<td style="vertical-align: top; width: 58%;">United Kingdom</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM">&nbsp;</div>
</div>
</div>
</div>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>5
<FILENAME>ex_436924.htm
<DESCRIPTION>EXHIBIT 23.1
<TEXT>
<html><head><meta charset="utf-8"><meta name="format-detection" content="telephone=no"><!-- Generated by ThunderDome Portal - 2/21/2023 11:21:31 PM -->
	<title>ex_436924.htm</title>
	<!-- Generated by ThunderDome Portal - 2/21/2023 11:21:31 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; padding:0in .1in;">
<p style="font-size: 10pt; margin: 0pt; font-family: Times New Roman; text-align: right;"><b>Exhibit 23.1</b></p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>&nbsp;</b></p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>Consent of Independent Registered Public Accounting Firm</b></p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">We consent to the incorporation by reference in Registration Statement Nos. 333-164851, 333-183109, 333-197944, and 333-233050 on Form S-8&nbsp;of our reports dated February 22, 2023, relating to the&nbsp;financial statements of Generac Holdings Inc.&nbsp;and the effectiveness of Generac Holdings Inc.'s internal control over financial reporting&nbsp;appearing in this Annual Report on Form 10-K of Generac Holdings&nbsp;Inc. for the year ended December 31, 2022.</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">/s/ Deloitte &amp; Touche LLP</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Milwaukee, Wisconsin</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">February 22, 2023</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&nbsp;</b></p>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM">&nbsp;</div>
</div>
</div>
</div>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>6
<FILENAME>ex_436925.htm
<DESCRIPTION>EXHIBIT 31.1
<TEXT>
<html><head><meta charset="utf-8"><meta name="format-detection" content="telephone=no"><!-- Generated by ThunderDome Portal - 2/21/2023 9:15:57 PM -->
	<title>ex_436925.htm</title>
	<!-- Generated by ThunderDome Portal - 2/21/2023 9:15:57 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0in 0.1in; cursor: auto;">
<p style="font-size: 10pt; margin: 0pt; font-family: Times New Roman; text-align: right;"><b>Exhibit 31.1</b></p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>CERTIFICATION OF CHIEF EXECUTIVE OFFICER PURSUANT TO<br>
SECURITIES EXCHANGE ACT RULES 13a-14(a) AND 15d-14(a), AS ADOPTED<br>
PURSUANT TO SECTION&nbsp;302 OF THE SARBANES-OXLEY ACT OF&nbsp;2002</b><b>&nbsp;</b></p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">I, Aaron Jagdfeld, certify that:</p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">1.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">I have reviewed this annual report on Form&nbsp;10-K of Generac Holdings Inc.;&nbsp;</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">2.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">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;&nbsp;</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">3.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">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;&nbsp;</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">4.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">The registrant's other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules&nbsp;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:&nbsp;</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:54pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">a.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">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;&nbsp;</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:54pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">b.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">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;</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:54pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">c.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">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&nbsp;</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:54pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">d.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">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&nbsp;</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">5.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">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):&nbsp;</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:54pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">a.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">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&nbsp;</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:54pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">b.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">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.</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="vertical-align: top; width: 43%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Date: February 22, 2023</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td colspan="3" style="vertical-align: top; width: 13%; border-bottom: thin solid rgb(0, 0, 0);">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">/s/ Aaron Jagdfeld</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 43%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 12%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Name:</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 42%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Aaron Jagdfeld</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 43%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 12%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Title:</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 42%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>Chairman, </i><i>President and Chief Executive Officer </i></p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM">&nbsp;</div>
</div>
</div>
</div>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>7
<FILENAME>ex_436926.htm
<DESCRIPTION>EXHIBIT 31.2
<TEXT>
<html><head><meta charset="utf-8"><meta name="format-detection" content="telephone=no"><!-- Generated by ThunderDome Portal - 1/10/2023 10:54:19 PM -->
	<title>ex_436926.htm</title>
	<!-- Generated by ThunderDome Portal - 1/10/2023 10:54:19 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0in 0.1in; cursor: auto;">
<p style="font-size: 10pt; margin: 0pt; font-family: Times New Roman; text-align: right;"><b>Exhibit 31.2</b></p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>CERTIFICATION OF CHIEF FINANCIAL&nbsp;OFFICER PURSUANT TO<br>
SECURITIES EXCHANGE ACT RULES 13a-14(a) AND 15d-14(a), AS ADOPTED<br>
PURSUANT TO SECTION&nbsp;302 OF THE SARBANES-OXLEY ACT OF&nbsp;2002</b><b>&nbsp;</b></p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">I, York A. Ragen, certify that:</p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">1.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">I have reviewed this annual report on Form&nbsp;10-K of Generac Holdings Inc.;&nbsp;</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">2.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">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;&nbsp;</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">3.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">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;&nbsp;</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">4.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">The registrant's other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules&nbsp;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:&nbsp;</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:54pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">a.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">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;&nbsp;</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:54pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">b.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">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;</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:54pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">c.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">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&nbsp;</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:54pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">d.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">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&nbsp;</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">5.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">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):&nbsp;</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:54pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">a.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">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&nbsp;</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:54pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">b.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">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.</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="vertical-align: top; width: 43%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Date: February 22, 2023</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td colspan="3" style="vertical-align: top; width: 13%; border-bottom: thin solid rgb(0, 0, 0);">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">/s/&nbsp;York A. Ragen</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 43%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 12%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Name:</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 42%;">York A. Ragen</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 43%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 12%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Title:</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 42%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>Chief Financial&nbsp;Officer </i></p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM">&nbsp;</div>
</div>
</div>
</div>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>8
<FILENAME>ex_436927.htm
<DESCRIPTION>EXHIBIT 32.1
<TEXT>
<html><head><meta charset="utf-8"><meta name="format-detection" content="telephone=no"><!-- Generated by ThunderDome Portal - 1/10/2023 10:54:38 PM -->
	<title>ex_436927.htm</title>
	<!-- Generated by ThunderDome Portal - 1/10/2023 10:54:38 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0in 0.1in; cursor: auto;">
<p style="font-size: 10pt; margin: 0pt; font-family: Times New Roman; text-align: right;"><b>Exhibit&nbsp;32.1 </b></p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>CERTIFICATION OF THE CHIEF EXECUTIVE OFFICER<br>
PURSUANT TO 18 U.S.C. SECTION&nbsp;1350, AS ADOPTED<br>
BY SECTION&nbsp;906 OF THE SARBANES-OXLEY ACT OF&nbsp;2002 </b></p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pursuant to Section&nbsp;1350, Chapter&nbsp;63 of Title 18, United States Code, as adopted by Section&nbsp;906 of the Sarbanes-Oxley Act of 2002, the undersigned, as Chief Executive Officer of Generac Holdings Inc. (the &#8220;Company&#8221;), does hereby certify that to his knowledge:</p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">1.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">the Company's annual report on Form&nbsp;10-K for the fiscal year ended December 31, 2022 fully complies with the requirements of Section&nbsp;13(a) or 15(d) of the Securities Exchange Act of 1934, as amended; and</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">2.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">the information contained in the Company's annual report on Form&nbsp;10-K for the fiscal year ended December 31, 2022 fairly presents, in all material respects, the financial condition and results of operations of the Company.</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="vertical-align: top; width: 43%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Date: February 22, 2023</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td colspan="3" style="vertical-align: top; width: 13%; border-bottom: thin solid rgb(0, 0, 0);">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">/s/ Aaron Jagdfeld</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 43%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 12%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Name:</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 42%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Aaron Jagdfeld</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 43%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 12%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Title:</p>
			</td>
			<td style="vertical-align: top; width: 1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align: top; width: 42%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>Chairman, </i><i>President and Chief Executive Officer </i></p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM">&nbsp;</div>
</div>
</div>
</div>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>9
<FILENAME>ex_436928.htm
<DESCRIPTION>EXHIBIT 32.2
<TEXT>
<html><head><meta charset="utf-8"><meta name="format-detection" content="telephone=no"><!-- Generated by ThunderDome Portal - 1/10/2023 10:54:55 PM -->
	<title>ex_436928.htm</title>
	<!-- Generated by ThunderDome Portal - 1/10/2023 10:54:55 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0in 0.1in; cursor: auto;">
<p style="font-size: 10pt; margin: 0pt; font-family: Times New Roman; text-align: right;"><b>Exhibit&nbsp;32.2</b></p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b>CERTIFICATION OF THE CHIEF </b><b>FINANCIAL </b><b>OFFICER<br>
PURSUANT TO 18 U.S.C. SECTION&nbsp;1350, AS ADOPTED<br>
BY SECTION&nbsp;906 OF THE SARBANES-OXLEY ACT OF&nbsp;2002 </b></p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pursuant to Section&nbsp;1350, Chapter&nbsp;63 of Title 18, United States Code, as adopted by Section&nbsp;906 of the Sarbanes-Oxley Act of 2002, the undersigned, as Chief Financial Officer of Generac Holdings Inc. (the &#8220;Company&#8221;), does hereby certify that to his knowledge:</p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">1.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">the Company's annual report on Form&nbsp;10-K for the fiscal year ended December 31, 2022 fully complies with the requirements of Section&nbsp;13(a) or 15(d) of the Securities Exchange Act of 1934, as amended; and</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="width:18pt;vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">2.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;">the information contained in the Company's annual report on Form&nbsp;10-K for the fiscal year ended December 31, 2022 fairly presents, in all material respects, the financial condition and results of operations of the Company.</p>
			</td>
		</tr>

</table>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;text-indent:0;font-family:'Times New Roman', Times, serif;font-size:10pt;">

		<tr>
			<td style="vertical-align:top;width:43.3%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Date: February 22, 2023</p>
			</td>
			<td style="vertical-align:top;width:1.1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align:top;width:1.1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td colspan="3" style="vertical-align: top; width: 54.5%; border-bottom: thin solid rgb(0, 0, 0);">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">/s/ York A. Ragen</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:43.3%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align:top;width:1.1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align:top;width:1.1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align:top;width:11.8%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Name:</p>
			</td>
			<td style="vertical-align:top;width:1.1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align:top;width:41.6%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">York A. Ragen</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:43.3%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align:top;width:1.1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align:top;width:1.1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align:top;width:11.8%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Title:</p>
			</td>
			<td style="vertical-align:top;width:1.1%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>
			</td>
			<td style="vertical-align:top;width:41.6%;">
			<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><i>Chief Financial Officer</i></p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">&nbsp;</p>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM">&nbsp;</div>
</div>
</div>
</div>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>10
<FILENAME>gnrc-20221231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 07:21PM UTC 2023-02-22--><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:country="http://xbrl.sec.gov/country/2022" xmlns:currency="http://xbrl.sec.gov/currency/2022" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:exch="http://xbrl.sec.gov/exch/2022" xmlns:gnrc="http://www.generac.com/20221231" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:naics="http://xbrl.sec.gov/naics/2022" xmlns:sic="http://xbrl.sec.gov/sic/2022" xmlns:srt="http://fasb.org/srt/2022" xmlns:srt-types="http://fasb.org/srt-types/2022" xmlns:stpr="http://xbrl.sec.gov/stpr/2022" xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:us-types="http://fasb.org/us-types/2022" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.generac.com/20221231">
  <xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/naics/2022" schemaLocation="https://xbrl.sec.gov/naics/2022/naics-2022.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/country/2022" schemaLocation="https://xbrl.sec.gov/country/2022/country-2022.xsd"/>
  <xsd:import namespace="http://fasb.org/srt/2022" schemaLocation="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/dei/2022" schemaLocation="https://xbrl.sec.gov/dei/2022/dei-2022.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/sic/2022" schemaLocation="https://xbrl.sec.gov/sic/2022/sic-2022.xsd"/>
  <xsd:import namespace="http://fasb.org/us-types/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd"/>
  <xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/stpr/2022" schemaLocation="https://xbrl.sec.gov/stpr/2022/stpr-2022.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/exch/2022" schemaLocation="https://xbrl.sec.gov/exch/2022/exch-2022.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/currency/2022" schemaLocation="https://xbrl.sec.gov/currency/2022/currency-2022.xsd"/>
  <xsd:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/>
  <xsd:import namespace="http://fasb.org/srt-types/2022" schemaLocation="https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd"/>
  <xsd:import namespace="http://fasb.org/us-gaap/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd"/>
  <xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd"/>
  <xsd:annotation>
    <xsd:appinfo>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="gnrc-20221231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="gnrc-20221231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="gnrc-20221231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="gnrc-20221231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="statement-document-and-entity-information" roleURI="http://www.generac.com/20221231/role/statement-document-and-entity-information">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">000 - Document - Document And Entity Information</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-consolidated-balance-sheets" roleURI="http://www.generac.com/20221231/role/statement-consolidated-balance-sheets">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">001 - Statement - Consolidated Balance Sheets</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-consolidated-balance-sheets-parentheticals" roleURI="http://www.generac.com/20221231/role/statement-consolidated-balance-sheets-parentheticals">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">002 - Statement - Consolidated Balance Sheets (Parentheticals)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-consolidated-statements-of-comprehensive-income-" roleURI="http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">003 - Statement - Consolidated Statements of Comprehensive Income</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-consolidated-statements-of-stockholders-equity" roleURI="http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">004 - Statement - Consolidated Statements of Stockholders' Equity</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-consolidated-statements-of-stockholders-equity-parentheticals" roleURI="http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity-parentheticals">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">005 - Statement - Consolidated Statements of Stockholders' Equity (Parentheticals)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-consolidated-statements-of-cash-flows" roleURI="http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">006 - Statement - Consolidated Statements of Cash Flows</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-1-description-of-business" roleURI="http://www.generac.com/20221231/role/statement-note-1-description-of-business">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">007 - Disclosure - Note 1 - Description of Business</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-summary-of-accounting-policies" roleURI="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">008 - Disclosure - Note 2 - Summary of Accounting Policies</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-acquisitions" roleURI="http://www.generac.com/20221231/role/statement-note-3-acquisitions">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">009 - Disclosure - Note 3 - Acquisitions</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-redeemable-noncontrolling-interest" roleURI="http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">010 - Disclosure - Note 4 - Redeemable Noncontrolling Interest</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-derivative-instruments-and-hedging-activities" roleURI="http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">011 - Disclosure - Note 5 - Derivative Instruments and Hedging Activities</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-accumulated-other-comprehensive-loss" roleURI="http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">012 - Disclosure - Note 6 - Accumulated Other Comprehensive Loss</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-segment-reporting" roleURI="http://www.generac.com/20221231/role/statement-note-7-segment-reporting">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">013 - Disclosure - Note 7 - Segment Reporting</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-8-balance-sheet-details" roleURI="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">014 - Disclosure - Note 8 - Balance Sheet Details</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-goodwill-and-intangible-assets" roleURI="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">015 - Disclosure - Note 9 - Goodwill and Intangible Assets</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-leases-" roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">016 - Disclosure - Note 10 - Leases</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-product-warranty-obligations" roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">017 - Disclosure - Note 11 - Product Warranty Obligations</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-credit-agreements" roleURI="http://www.generac.com/20221231/role/statement-note-12-credit-agreements">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">018 - Disclosure - Note 12 - Credit Agreements</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-13-stock-repurchase-programs" roleURI="http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">019 - Disclosure - Note 13 - Stock Repurchase Programs</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-14-earnings-per-share" roleURI="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">020 - Disclosure - Note 14 - Earnings Per Share</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-income-taxes" roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">021 - Disclosure - Note 15 - Income Taxes</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-16-benefit-plans" roleURI="http://www.generac.com/20221231/role/statement-note-16-benefit-plans">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">022 - Disclosure - Note 16 - Benefit Plans</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-share-plans" roleURI="http://www.generac.com/20221231/role/statement-note-17-share-plans">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">023 - Disclosure - Note 17 - Share Plans</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-18-commitments-and-contingencies" roleURI="http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">024 - Disclosure - Note 18 - Commitments and Contingencies</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-19-quarterly-financial-information-unaudited" roleURI="http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">025 - Disclosure - Note 19 - Quarterly Financial Information (Unaudited)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-20-valuation-and-qualifying-accounts" roleURI="http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">026 - Disclosure - Note 20 - Valuation and Qualifying Accounts</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-21-subsequent-events" roleURI="http://www.generac.com/20221231/role/statement-note-21-subsequent-events">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">027 - Disclosure - Note 21 - Subsequent Events</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-significant-accounting-policies-policies" roleURI="http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">028 - Disclosure - Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-summary-of-accounting-policies-tables" roleURI="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">029 - Disclosure - Note 2 - Summary of Accounting Policies (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-acquisitions-tables" roleURI="http://www.generac.com/20221231/role/statement-note-3-acquisitions-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">030 - Disclosure - Note 3 - Acquisitions (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-redeemable-noncontrolling-interest-tables" roleURI="http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">031 - Disclosure - Note 4 - Redeemable Noncontrolling Interest (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-derivative-instruments-and-hedging-activities-tables" roleURI="http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">032 - Disclosure - Note 5 - Derivative Instruments and Hedging Activities (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-accumulated-other-comprehensive-loss-tables" roleURI="http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">033 - Disclosure - Note 6 - Accumulated Other Comprehensive Loss (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-segment-reporting-tables" roleURI="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">034 - Disclosure - Note 7 - Segment Reporting (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-8-balance-sheet-details-tables" roleURI="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">035 - Disclosure - Note 8 - Balance Sheet Details (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-goodwill-and-intangible-assets-tables" roleURI="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">036 - Disclosure - Note 9 - Goodwill and Intangible Assets (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-leases-tables" roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">037 - Disclosure - Note 10 - Leases (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-product-warranty-obligations-tables" roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">038 - Disclosure - Note 11 - Product Warranty Obligations (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-credit-agreements-tables" roleURI="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">039 - Disclosure - Note 12 - Credit Agreements (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-14-earnings-per-share-tables" roleURI="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">040 - Disclosure - Note 14 - Earnings Per Share (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-income-taxes-tables" roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">041 - Disclosure - Note 15 - Income Taxes (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-share-plans-tables" roleURI="http://www.generac.com/20221231/role/statement-note-17-share-plans-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">042 - Disclosure - Note 17 - Share Plans (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-19-quarterly-financial-information-unaudited-tables" roleURI="http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">043 - Disclosure - Note 19 - Quarterly Financial Information (Unaudited) (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-20-valuation-and-qualifying-accounts-tables" roleURI="http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">044 - Disclosure - Note 20 - Valuation and Qualifying Accounts (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-summary-of-accounting-policies-details-textual" roleURI="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">045 - Disclosure - Note 2 - Summary of Accounting Policies (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details" roleURI="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">046 - Disclosure - Note 2 - Summary of Accounting Policies - Summary of Allowance for Doubtful Accounts (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details" roleURI="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">047 - Disclosure - Note 2 - Summary of Accounting Policies - Property and Equipment Estimated Useful Lives (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details" roleURI="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">048 - Disclosure - Note 2 - Summary of Accounting Policies - Reconciliation of Contingent Consideration (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-acquisitions-details-textual" roleURI="http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">049 - Disclosure - Note 3 - Acquisitions (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details" roleURI="http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">050 - Disclosure - Note 3 - Acquisitions - The Combined Fair Value of the Consideration Transferred for These Acquisitions (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-acquisitions-preliminary-price-allocation-details" roleURI="http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">051 - Disclosure - Note 3 - Acquisitions - Preliminary Price Allocation (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-acquisitions-unaudited-pro-forma-information-details" roleURI="http://www.generac.com/20221231/role/statement-note-3-acquisitions-unaudited-pro-forma-information-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">052 - Disclosure - Note 3 - Acquisitions - Unaudited Pro Forma Information (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-redeemable-noncontrolling-interest-details-textual" roleURI="http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">053 - Disclosure - Note 4 - Redeemable Noncontrolling Interest (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details" roleURI="http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">054 - Disclosure - Note 4 - Redeemable Noncontrolling Interest - Redeemable Noncontrolling Interest (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-derivative-instruments-and-hedging-activities-details-textual" roleURI="http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">055 - Disclosure - Note 5 - Derivative Instruments and Hedging Activities (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details" roleURI="http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">056 - Disclosure - Note 5 - Derivative Instruments and Hedging Activities - Fair Value of Derivatives (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-accumulated-other-comprehensive-loss-details-textual" roleURI="http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">057 - Disclosure - Note 6 - Accumulated Other Comprehensive Loss (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details" roleURI="http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">058 - Disclosure - Note 6 - Accumulated Other Comprehensive Loss - Disclosure of Changes in Accumulated Other Comprehensive Loss (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-segment-reporting-details-textual" roleURI="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">059 - Disclosure - Note 7 - Segment Reporting (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-segment-reporting-net-sales-by-products-and-services-details" roleURI="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">060 - Disclosure - Note 7 - Segment Reporting - Net Sales by Products and Services (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-segment-reporting-total-sales-by-reportable-segment-details" roleURI="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">061 - Disclosure - Note 7 - Segment Reporting - Total Sales by Reportable Segment (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-segment-reporting-segment-information-details" roleURI="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">062 - Disclosure - Note 7 - Segment Reporting - Segment Information (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-8-balance-sheet-details-details-textual" roleURI="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">063 - Disclosure - Note 8 - Balance Sheet Details (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-8-balance-sheet-details-inventories-details" roleURI="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">064 - Disclosure - Note 8 - Balance Sheet Details - Inventories (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-8-balance-sheet-details-property-and-equipment-details" roleURI="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">065 - Disclosure - Note 8 - Balance Sheet Details - Property and Equipment (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-goodwill-and-intangible-assets-details-textual" roleURI="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">066 - Disclosure - Note 9 - Goodwill and Intangible Assets (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details" roleURI="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">067 - Disclosure - Note 9 - Goodwill and Intangible Assets - Carrying Amount of Goodwill (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details" roleURI="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">068 - Disclosure - Note 9 - Goodwill and Intangible Assets - Summary of Intangible Assets (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-leases-details-textual" roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">069 - Disclosure - Note 10 - Leases (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-leases-leases-cost-details" roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">070 - Disclosure - Note 10 - Leases - Leases Cost (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details" roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">071 - Disclosure - Note 10 - Leases - Supplement Balance Sheet Information Related to Leases (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details" roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">072 - Disclosure - Note 10 - Leases - Supplement Cash Flow Information Related to Leases (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details" roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">073 - Disclosure - Note 10 - Leases - Weighted Average Remaining Lease Term and Discount Rate Information (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-leases-maturities-of-lease-liabilities-details" roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">074 - Disclosure - Note 10 - Leases - Maturities of Lease liabilities (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-product-warranty-obligations-details-textual" roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">075 - Disclosure - Note 11 - Product Warranty Obligations (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details" roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">076 - Disclosure - Note 11 - Product Warranty Obligations - Reconciliation of Product Warranty Liability (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details" roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">077 - Disclosure - Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details" roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">078 - Disclosure - Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties 2 (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals" roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">079 - Disclosure - Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties (Details) (Parentheticals)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-product-warranty-obligations-deferred-product-obligations-details" roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">080 - Disclosure - Note 11 - Product Warranty Obligations - Deferred Product Obligations (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-credit-agreements-details-textual" roleURI="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">081 - Disclosure - Note 12 - Credit Agreements (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-credit-agreements-longterm-borrowings-details" roleURI="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">082 - Disclosure - Note 12 - Credit Agreements - Long-term Borrowings (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details" roleURI="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">083 - Disclosure - Note 12 - Credit Agreements - Maturities of Long-term Borrowings Outstanding (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-13-stock-repurchase-programs-details-textual" roleURI="http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">084 - Disclosure - Note 13 - Stock Repurchase Programs (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-14-earnings-per-share-details-textual" roleURI="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">085 - Disclosure - Note 14 - Earnings Per Share (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details" roleURI="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">086 - Disclosure - Note 14 - Earnings Per Share - Reconciliation of Basic and Diluted Earnings Per Share (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-income-taxes-details-textual" roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">087 - Disclosure - Note 15 - Income Taxes (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-income-taxes-provision-for-income-taxes-details" roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">088 - Disclosure - Note 15 - Income Taxes - Provision for Income Taxes (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details" roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">089 - Disclosure - Note 15 - Income Taxes - Components of Deferred Tax Assets and Liabilities (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-income-taxes-unrecognized-tax-benefits-details" roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-unrecognized-tax-benefits-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">090 - Disclosure - Note 15 - Income Taxes - Unrecognized Tax Benefits (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details" roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">091 - Disclosure - Note 15 - Income Taxes - Reconciliation of Statutory and Effective Tax Rates (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-16-benefit-plans-details-textual" roleURI="http://www.generac.com/20221231/role/statement-note-16-benefit-plans-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">092 - Disclosure - Note 16 - Benefit Plans (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-share-plans-details-textual" roleURI="http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">093 - Disclosure - Note 17 - Share Plans (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details" roleURI="http://www.generac.com/20221231/role/statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">094 - Disclosure - Note 17 - Share Plans - Weighted-average Assumptions used in the Black-Scholes-Merton Option Pricing Model (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-share-plans-summary-of-stock-option-activity-details" roleURI="http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">095 - Disclosure - Note 17 - Share Plans - Summary of Stock Option Activity (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details" roleURI="http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">096 - Disclosure - Note 17 - Share Plans - Summary of Restricted Share Awards Activity (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-18-commitments-and-contingencies-details-textual" roleURI="http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">097 - Disclosure - Note 18 - Commitments and Contingencies (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details" roleURI="http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">098 - Disclosure - Note 19 - Quarterly Financial Information (Unaudited) - Unaudited Quarterly Financial Information (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details" roleURI="http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">099 - Disclosure - Note 20 - Valuation and Qualifying Accounts - Schedule of Valuation and Qualifying Accounts (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:element abstract="true" id="gnrc_ABLRevolvingCreditFacilityMember" name="ABLRevolvingCreditFacilityMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation" name="AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_AcquisitionOfChiliconMember" name="AcquisitionOfChiliconMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_AcquisitionOfDeepSeaMember" name="AcquisitionOfDeepSeaMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_AcquisitionOfEnbalaMember" name="AcquisitionOfEnbalaMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_AcquisitionOfOffGridEnergyMember" name="AcquisitionOfOffGridEnergyMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_AcquisitionRelatedCostsPolicyTextBlock" name="AcquisitionRelatedCostsPolicyTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_AdjustedEBITDA" name="AdjustedEBITDA" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_AdjustedLIBORRateMember" name="AdjustedLIBORRateMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_AllAcquisitionsMember" name="AllAcquisitionsMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_AllOther2021AcquisitionsMember" name="AllOther2021AcquisitionsMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions" name="AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_AmortizationOfDeferredRevenueOnExtendedWarrantyContracts" name="AmortizationOfDeferredRevenueOnExtendedWarrantyContracts" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_AmortizationOfFinancingCostsAndDebtDiscountPremium" name="AmortizationOfFinancingCostsAndDebtDiscountPremium" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_AmountFinancedByDealers" name="AmountFinancedByDealers" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element id="gnrc_BusinessAcquisitionNoncontrollingInterestTermOfPutOption" name="BusinessAcquisitionNoncontrollingInterestTermOfPutOption" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill" name="BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="gnrc_BusinessAcquisitionTermOfCallOption" name="BusinessAcquisitionTermOfCallOption" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation" name="BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion" name="BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue" name="BusinessCombinationContingentConsiderationGainLossChangeInFairValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element id="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element id="gnrc_BusinessOptimizationExpense" name="BusinessOptimizationExpense" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_CaptivaEnergySolutionsMember" name="CaptivaEnergySolutionsMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_CleanEnergyProductMember" name="CleanEnergyProductMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_CommercialAndIndustrialPowerProductsMember" name="CommercialAndIndustrialPowerProductsMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_ContingentConsiderationLiabilityMember" name="ContingentConsiderationLiabilityMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_ContingentConsiderationPayments" name="ContingentConsiderationPayments" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_ContingentConsiderationSharePaymentShares" name="ContingentConsiderationSharePaymentShares" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_ContingentConsiderationSharePaymentsValue" name="ContingentConsiderationSharePaymentsValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_CovenantMaximumTotalLeverageRatio" name="CovenantMaximumTotalLeverageRatio" nillable="true" substitutionGroup="xbrli:item" type="xbrli:pureItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_CovenantMinimumInterestCoverageRatio" name="CovenantMinimumInterestCoverageRatio" nillable="true" substitutionGroup="xbrli:item" type="xbrli:pureItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember" name="CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_DebtInstrumentSOFRFloor" name="DebtInstrumentSOFRFloor" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="instant"/>
  <xsd:element id="gnrc_DeferredCompensationArrangementWithIndividualSharesGranted" name="DeferredCompensationArrangementWithIndividualSharesGranted" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_DeferredCostsAmortizationExpenseNextTwelveMonths" name="DeferredCostsAmortizationExpenseNextTwelveMonths" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="gnrc_DeferredCostsAmortizationExpenseYearFive" name="DeferredCostsAmortizationExpenseYearFive" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="gnrc_DeferredCostsAmortizationExpenseYearFour" name="DeferredCostsAmortizationExpenseYearFour" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="gnrc_DeferredCostsAmortizationExpenseYearThree" name="DeferredCostsAmortizationExpenseYearThree" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="gnrc_DeferredCostsAmortizationExpenseYearTwo" name="DeferredCostsAmortizationExpenseYearTwo" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance" name="DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_DefinedContributionPlanPercentageOfEligibleCompensation" name="DefinedContributionPlanPercentageOfEligibleCompensation" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation" name="DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk" name="DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="gnrc_DiesAndToolsMember" name="DiesAndToolsMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_DocumentAndEntityInformation" name="DocumentAndEntityInformation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_DomesticMember" name="DomesticMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_EECAndBluePillarMember" name="EECAndBluePillarMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_EcobeeIncMember" name="EcobeeIncMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent" name="EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent" name="EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent" name="EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent" name="EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_EmployerContributionUnderMedicalAndDentalPlan" name="EmployerContributionUnderMedicalAndDentalPlan" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_EquityIncentivePlanPlanMember" name="EquityIncentivePlanPlanMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_ExcessPurchasePriceOverPredecessorBasis" name="ExcessPurchasePriceOverPredecessorBasis" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="gnrc_ExcessPurchasePriceOverPredecessorBasisMember" name="ExcessPurchasePriceOverPredecessorBasisMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_ExcessTaxBenefitsFromEquityAwards" name="ExcessTaxBenefitsFromEquityAwards" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_ExtendedWarrantyTerm" name="ExtendedWarrantyTerm" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_ExternalNetSalesMember" name="ExternalNetSalesMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock" name="FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_FinanceLeaseAndOtherAssetsMember" name="FinanceLeaseAndOtherAssetsMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_FinanceLeaseAndOtherLongtermLiabilitiesMember" name="FinanceLeaseAndOtherLongtermLiabilitiesMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" name="FinanceLeaseRightOfUseAssetAccumulatedDepreciation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element id="gnrc_FinanceLeaseRightOfUseAssetGross" name="FinanceLeaseRightOfUseAssetGross" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="gnrc_FiniteLivedCustomerListsNet" name="FiniteLivedCustomerListsNet" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="gnrc_FiniteLivedPatentsAndTechnologyNet" name="FiniteLivedPatentsAndTechnologyNet" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="gnrc_InterestCoverageRatio" name="InterestCoverageRatio" nillable="true" substitutionGroup="xbrli:item" type="xbrli:pureItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_InternationalMember" name="InternationalMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_IntersegmentSalesMember" name="IntersegmentSalesMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_LIBORFloorRateMember" name="LIBORFloorRateMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_LeaseTermAndDiscountRateTableTextBlock" name="LeaseTermAndDiscountRateTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract" name="LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_LesseeOperatingLeasesAndFinanceLeasesTextBlock" name="LesseeOperatingLeasesAndFinanceLeasesTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_LineOfCreditFacilityIncrementalCapacity" name="LineOfCreditFacilityIncrementalCapacity" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element id="gnrc_NetIncomeLossAvailableToCommonStockholders" name="NetIncomeLossAvailableToCommonStockholders" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_NoCustomerMember" name="NoCustomerMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_NoncashWritedownAndOtherAdjustments" name="NoncashWritedownAndOtherAdjustments" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_NoncontrollingInterestAgreementExtensionOfTerm" name="NoncontrollingInterestAgreementExtensionOfTerm" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_NoteToFinancialStatementDetailsTextual" name="NoteToFinancialStatementDetailsTextual" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_NotesToFinancialStatements" name="NotesToFinancialStatements" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_NotesToFinancialStatementsAbstract" name="NotesToFinancialStatementsAbstract" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_NumberOfMajorCustomers" name="NumberOfMajorCustomers" nillable="true" substitutionGroup="xbrli:item" type="xbrli:integerItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_NumberOfNewContractsEntered" name="NumberOfNewContractsEntered" nillable="true" substitutionGroup="xbrli:item" type="xbrli:integerItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_OneCustomerMember" name="OneCustomerMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" name="OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_OperatingLeaseAndOtherAssetsMember" name="OperatingLeaseAndOtherAssetsMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_OperatingLeaseAndOtherLongtermLiabilitiesMember" name="OperatingLeaseAndOtherLongtermLiabilitiesMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities" name="OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element id="gnrc_OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent" name="OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="gnrc_Other" name="Other" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_Other2020AcquisitionsMember" name="Other2020AcquisitionsMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_Other2021AcquisitionsMember" name="Other2021AcquisitionsMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember" name="OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember" name="OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_OtherAccruedLiabilitiesMember" name="OtherAccruedLiabilitiesMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_OtherLongtermLiabilitiesMember" name="OtherLongtermLiabilitiesMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_OtherProductsAndServicesMember" name="OtherProductsAndServicesMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_PatentsAndTechnologyMember" name="PatentsAndTechnologyMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_PaymentsToAcquireBusinessesDeferredCashPayment" name="PaymentsToAcquireBusinessesDeferredCashPayment" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_PerformanceShareAwardPercentage" name="PerformanceShareAwardPercentage" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember" name="PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_PowerHomeSolarLlcMember" name="PowerHomeSolarLlcMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_PramacMember" name="PramacMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock" name="ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_ProformaAmortizationOfIntangibleAssets" name="ProformaAmortizationOfIntangibleAssets" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" name="PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_ProvisionForProductCharges" name="ProvisionForProductCharges" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_RedeemableNoncontrollingInterestMember" name="RedeemableNoncontrollingInterestMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_RedeemableNoncontrollingInterestTextBlock" name="RedeemableNoncontrollingInterestTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_ResidentialPowerProductsMember" name="ResidentialPowerProductsMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_RestrictedStockAndPerformanceSharesMember" name="RestrictedStockAndPerformanceSharesMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_SavingsPlan401kMember" name="SavingsPlan401kMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock" name="ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock" name="ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock" name="ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_ScheduleOfIntangibleAssetsTableTextBlock" name="ScheduleOfIntangibleAssetsTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_ScheduleOfLeasesCashFlowInformationTableTextBlock" name="ScheduleOfLeasesCashFlowInformationTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired" name="SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_SecuredLeverageRatio" name="SecuredLeverageRatio" nillable="true" substitutionGroup="xbrli:item" type="xbrli:pureItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare" name="SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:perShareItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod" name="SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_SharesAcquiredUnderStockRepurchasesProgramShares" name="SharesAcquiredUnderStockRepurchasesProgramShares" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_StandardProductWarrantyAccrualWarrantyProvision" name="StandardProductWarrantyAccrualWarrantyProvision" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares" name="StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" name="StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_TaxCreditCarryforwardStateManufacturing" name="TaxCreditCarryforwardStateManufacturing" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="gnrc_TermLoanMember" name="TermLoanMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_The2019EquityIncentivePlanMember" name="The2019EquityIncentivePlanMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_The2020AcquisitionsMember" name="The2020AcquisitionsMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_The2021AcquisitionsMember" name="The2021AcquisitionsMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_The2022AcquisitionsMember" name="The2022AcquisitionsMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement" name="ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement" nillable="true" substitutionGroup="xbrli:item" type="xbrli:pureItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_TotalLeverageRatio" name="TotalLeverageRatio" nillable="true" substitutionGroup="xbrli:item" type="xbrli:pureItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_TradeNamesNet" name="TradeNamesNet" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember" name="TrancheATermLoanFacilityAndRevolvingCreditFacilityMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_TrancheATermLoanFacilityMember" name="TrancheATermLoanFacilityMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_TrancheBTermLoanFacilityMember" name="TrancheBTermLoanFacilityMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_TransactionCostsAndCredityFaciltyFees" name="TransactionCostsAndCredityFaciltyFees" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_TreasuryStockIssuedDuringPeriodContingentConsideration" name="TreasuryStockIssuedDuringPeriodContingentConsideration" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_TreasuryStockIssuedDuringPeriodValueContingentConsideration" name="TreasuryStockIssuedDuringPeriodValueContingentConsideration" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards" name="TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" name="TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_UncommittedIncrementalTermLoanFacility" name="UncommittedIncrementalTermLoanFacility" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element id="gnrc_ValuationAndQualifyingAccountsTableTextBlock" name="ValuationAndQualifyingAccountsTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="gnrc_VauationAllowancesAndReservesAdjustments" name="VauationAllowancesAndReservesAdjustments" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-10-leases-leases-cost-details" name="statement-statement-note-10-leases-leases-cost-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-10-leases-maturities-of-lease-liabilities-details" name="statement-statement-note-10-leases-maturities-of-lease-liabilities-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details" name="statement-statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details" name="statement-statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-10-leases-tables" name="statement-statement-note-10-leases-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details" name="statement-statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-11-product-warranty-obligations-deferred-product-obligations-details" name="statement-statement-note-11-product-warranty-obligations-deferred-product-obligations-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details" name="statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details" name="statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals" name="statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details" name="statement-statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-11-product-warranty-obligations-tables" name="statement-statement-note-11-product-warranty-obligations-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-12-credit-agreements-longterm-borrowings-details" name="statement-statement-note-12-credit-agreements-longterm-borrowings-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details" name="statement-statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-12-credit-agreements-tables" name="statement-statement-note-12-credit-agreements-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details" name="statement-statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-14-earnings-per-share-tables" name="statement-statement-note-14-earnings-per-share-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details" name="statement-statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-15-income-taxes-provision-for-income-taxes-details" name="statement-statement-note-15-income-taxes-provision-for-income-taxes-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details" name="statement-statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-15-income-taxes-tables" name="statement-statement-note-15-income-taxes-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-15-income-taxes-unrecognized-tax-benefits-details" name="statement-statement-note-15-income-taxes-unrecognized-tax-benefits-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details" name="statement-statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-17-share-plans-summary-of-stock-option-activity-details" name="statement-statement-note-17-share-plans-summary-of-stock-option-activity-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-17-share-plans-tables" name="statement-statement-note-17-share-plans-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details" name="statement-statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-19-quarterly-financial-information-unaudited-tables" name="statement-statement-note-19-quarterly-financial-information-unaudited-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details" name="statement-statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details" name="statement-statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details" name="statement-statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details" name="statement-statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-2-summary-of-accounting-policies-tables" name="statement-statement-note-2-summary-of-accounting-policies-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details" name="statement-statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-20-valuation-and-qualifying-accounts-tables" name="statement-statement-note-20-valuation-and-qualifying-accounts-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-3-acquisitions-preliminary-price-allocation-details" name="statement-statement-note-3-acquisitions-preliminary-price-allocation-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-3-acquisitions-tables" name="statement-statement-note-3-acquisitions-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details" name="statement-statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-3-acquisitions-unaudited-pro-forma-information-details" name="statement-statement-note-3-acquisitions-unaudited-pro-forma-information-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details" name="statement-statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-4-redeemable-noncontrolling-interest-tables" name="statement-statement-note-4-redeemable-noncontrolling-interest-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details" name="statement-statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-5-derivative-instruments-and-hedging-activities-tables" name="statement-statement-note-5-derivative-instruments-and-hedging-activities-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details" name="statement-statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-6-accumulated-other-comprehensive-loss-tables" name="statement-statement-note-6-accumulated-other-comprehensive-loss-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-7-segment-reporting-net-sales-by-products-and-services-details" name="statement-statement-note-7-segment-reporting-net-sales-by-products-and-services-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-7-segment-reporting-segment-information-details" name="statement-statement-note-7-segment-reporting-segment-information-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-7-segment-reporting-tables" name="statement-statement-note-7-segment-reporting-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-7-segment-reporting-total-sales-by-reportable-segment-details" name="statement-statement-note-7-segment-reporting-total-sales-by-reportable-segment-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-8-balance-sheet-details-inventories-details" name="statement-statement-note-8-balance-sheet-details-inventories-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-8-balance-sheet-details-property-and-equipment-details" name="statement-statement-note-8-balance-sheet-details-property-and-equipment-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-8-balance-sheet-details-tables" name="statement-statement-note-8-balance-sheet-details-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details" name="statement-statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details" name="statement-statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-tables" name="statement-statement-note-9-goodwill-and-intangible-assets-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="gnrc_statement-statement-significant-accounting-policies-policies" name="statement-statement-significant-accounting-policies-policies" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>11
<FILENAME>gnrc-20221231_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 07:21PM UTC 2023-02-22--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details" xlink:href="gnrc-20221231.xsd#statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details" xlink:type="extended">
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PaymentsToAcquireBusinessesDeferredCashPayment" xlink:label="gnrc_PaymentsToAcquireBusinessesDeferredCashPayment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="gnrc_PaymentsToAcquireBusinessesDeferredCashPayment" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details" xlink:href="gnrc-20221231.xsd#statement-note-15-income-taxes-provision-for-income-taxes-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details" xlink:type="extended">
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance" xlink:label="gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance" xlink:to="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details" xlink:href="gnrc-20221231.xsd#statement-note-3-acquisitions-preliminary-price-allocation-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details" xlink:type="extended">
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits" xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings" xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:type="arc"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:type="arc"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits" xlink:type="arc"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:type="arc"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings" xlink:type="arc"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:type="arc"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:type="arc"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" xlink:type="arc"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:type="arc"/>
    <link:calculationArc order="8" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details" xlink:href="gnrc-20221231.xsd#statement-note-10-leases-leases-cost-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_FinanceLeaseInterestExpense" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_OperatingLeaseCost" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details" xlink:href="gnrc-20221231.xsd#statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details" xlink:type="extended">
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:label="gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FinanceLeaseRightOfUseAssetGross" xlink:label="gnrc_FinanceLeaseRightOfUseAssetGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseRightOfUseAsset" xlink:to="gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseRightOfUseAsset" xlink:to="gnrc_FinanceLeaseRightOfUseAssetGross" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details" xlink:href="gnrc-20221231.xsd#statement-note-12-credit-agreements-longterm-borrowings-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtAndCapitalLeaseObligations" xlink:label="us-gaap_DebtAndCapitalLeaseObligations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermLineOfCredit" xlink:label="us-gaap_LongTermLineOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherBorrowings" xlink:label="us-gaap_OtherBorrowings" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtAndCapitalLeaseObligations" xlink:to="us-gaap_FinanceLeaseLiability" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtAndCapitalLeaseObligations" xlink:to="us-gaap_LongTermLineOfCredit" xlink:type="arc"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtAndCapitalLeaseObligations" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtAndCapitalLeaseObligations" xlink:to="us-gaap_DebtInstrumentCarryingAmount" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtAndCapitalLeaseObligations" xlink:to="us-gaap_OtherBorrowings" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details" xlink:href="gnrc-20221231.xsd#statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details" xlink:type="extended">
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent" xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent" xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent" xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent" xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="gnrc_EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="arc"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="gnrc_EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="gnrc_EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent" xlink:type="arc"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="gnrc_EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent" xlink:type="arc"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="arc"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="arc"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-consolidated-balance-sheets" xlink:href="gnrc-20221231.xsd#statement-consolidated-balance-sheets" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.generac.com/20221231/role/statement-consolidated-balance-sheets" xlink:type="extended">
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ExcessPurchasePriceOverPredecessorBasis" xlink:label="gnrc_ExcessPurchasePriceOverPredecessorBasis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FiniteLivedCustomerListsNet" xlink:label="gnrc_FiniteLivedCustomerListsNet" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FiniteLivedPatentsAndTechnologyNet" xlink:label="gnrc_FiniteLivedPatentsAndTechnologyNet" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities" xlink:label="gnrc_OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent" xlink:label="gnrc_OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TradeNamesNet" xlink:label="gnrc_TradeNamesNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherIntangibleAssetsNet" xlink:label="us-gaap_OtherIntangibleAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="gnrc_FiniteLivedCustomerListsNet" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="gnrc_OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="gnrc_TradeNamesNet" xlink:type="arc"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OtherIntangibleAssetsNet" xlink:type="arc"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="gnrc_FiniteLivedPatentsAndTechnologyNet" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableCurrent" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_ShortTermBorrowings" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LiabilitiesCurrent" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="gnrc_OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_CommonStockValue" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="gnrc_ExcessPurchasePriceOverPredecessorBasis" xlink:type="arc"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_TreasuryStockValue" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AdditionalPaidInCapital" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_MinorityInterest" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquity" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows" xlink:href="gnrc-20221231.xsd#statement-consolidated-statements-of-cash-flows" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows" xlink:type="extended">
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue" xlink:label="gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ExcessTaxBenefitsFromEquityAwards" xlink:label="gnrc_ExcessTaxBenefitsFromEquityAwards" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:label="us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest" xlink:label="us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="us-gaap_PaymentsOfDividendsCommonStock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireLongtermInvestments" xlink:label="us-gaap_PaymentsToAcquireLongtermInvestments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables" xlink:label="us-gaap_ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfLongtermInvestments" xlink:label="us-gaap_ProceedsFromSaleOfLongtermInvestments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromShortTermDebt" xlink:label="us-gaap_ProceedsFromShortTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities" xlink:label="us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfShortTermDebt" xlink:label="us-gaap_RepaymentsOfShortTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue" xlink:type="arc"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainLossOnDispositionOfAssets1" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ShareBasedCompensation" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="gnrc_ExcessTaxBenefitsFromEquityAwards" xlink:type="arc"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="arc"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:type="arc"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:type="arc"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:type="arc"/>
    <link:calculationArc order="10" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:calculationArc order="11" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc"/>
    <link:calculationArc order="12" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_Depreciation" xlink:type="arc"/>
    <link:calculationArc order="13" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="arc"/>
    <link:calculationArc order="14" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ProfitLoss" xlink:type="arc"/>
    <link:calculationArc order="15" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInInventories" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_ProceedsFromSaleOfLongtermInvestments" xlink:type="arc"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireLongtermInvestments" xlink:type="arc"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:type="arc"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities" xlink:type="arc"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsOfDividendsCommonStock" xlink:type="arc"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_RepaymentsOfShortTermDebt" xlink:type="arc"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest" xlink:type="arc"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:type="arc"/>
    <link:calculationArc order="8" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts" xlink:type="arc"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromShortTermDebt" xlink:type="arc"/>
    <link:calculationArc order="10" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-" xlink:href="gnrc-20221231.xsd#statement-consolidated-statements-of-comprehensive-income-" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentIncomeNonoperating" xlink:label="us-gaap_InvestmentIncomeNonoperating" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" xlink:type="locator"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_GeneralAndAdministrativeExpense" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_SellingAndMarketingExpense" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingExpenses" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_GrossProfit" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_InvestmentIncomeNonoperating" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_InterestExpense" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_OperatingIncomeLoss" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_NonoperatingIncomeExpense" xlink:type="arc"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_ProfitLoss" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ProfitLoss" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:type="arc"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details" xlink:href="gnrc-20221231.xsd#statement-note-8-balance-sheet-details-inventories-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details" xlink:href="gnrc-20221231.xsd#statement-note-8-balance-sheet-details-property-and-equipment-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details" xlink:href="gnrc-20221231.xsd#statement-note-11-product-warranty-obligations-deferred-product-obligations-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrual" xlink:label="us-gaap_ExtendedProductWarrantyAccrual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrualCurrent" xlink:label="us-gaap_ExtendedProductWarrantyAccrualCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_ExtendedProductWarrantyAccrualNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrual" xlink:label="us-gaap_StandardProductWarrantyAccrual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualCurrent" xlink:label="us-gaap_StandardProductWarrantyAccrualCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_StandardProductWarrantyAccrualNoncurrent" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StandardProductWarrantyAccrual" xlink:to="us-gaap_StandardProductWarrantyAccrualNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StandardProductWarrantyAccrual" xlink:to="us-gaap_StandardProductWarrantyAccrualCurrent" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ExtendedProductWarrantyAccrual" xlink:to="us-gaap_ExtendedProductWarrantyAccrualNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ExtendedProductWarrantyAccrual" xlink:to="us-gaap_ExtendedProductWarrantyAccrualCurrent" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details" xlink:href="gnrc-20221231.xsd#statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details" xlink:type="extended">
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NetIncomeLossAvailableToCommonStockholders" xlink:label="gnrc_NetIncomeLossAvailableToCommonStockholders" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestChangeInRedemptionValue" xlink:label="us-gaap_MinorityInterestChangeInRedemptionValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="gnrc_NetIncomeLossAvailableToCommonStockholders" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="gnrc_NetIncomeLossAvailableToCommonStockholders" xlink:to="us-gaap_MinorityInterestChangeInRedemptionValue" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details" xlink:href="gnrc-20221231.xsd#statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsDeferredIncome" xlink:label="us-gaap_DeferredTaxAssetsDeferredIncome" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts" xlink:label="us-gaap_DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:label="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsInventory" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsDeferredIncome" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:type="arc"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="arc"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:type="arc"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsOther" xlink:type="arc"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts" xlink:type="arc"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxLiabilities" xlink:to="us-gaap_DeferredTaxAssetsNet" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>12
<FILENAME>gnrc-20221231_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 07:21PM UTC 2023-02-22--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-21-subsequent-events" xlink:href="gnrc-20221231.xsd#statement-note-21-subsequent-events" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-21-subsequent-events" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts" xlink:href="gnrc-20221231.xsd#statement-note-20-valuation-and-qualifying-accounts" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:label="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited" xlink:href="gnrc-20221231.xsd#statement-note-19-quarterly-financial-information-unaudited" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_QuarterlyFinancialInformationTextBlock" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-1-description-of-business" xlink:href="gnrc-20221231.xsd#statement-note-1-description-of-business" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-1-description-of-business" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-document-and-entity-information" xlink:href="gnrc-20221231.xsd#statement-document-and-entity-information" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-document-and-entity-information" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorName" xlink:label="dei_AuditorName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="dei_DocumentInformationTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CurrentFiscalYearEndDate" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalPeriodFocus" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalYearFocus" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentAnnualReport" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentTransitionReport" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFileNumber" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityIncorporationStateCountryCode" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityTaxIdentificationNumber" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine1" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCityOrTown" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressStateOrProvince" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressPostalZipCode" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CityAreaCode" xlink:type="arc"/>
    <link:definitionArc order="19" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_LocalPhoneNumber" xlink:type="arc"/>
    <link:definitionArc order="20" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_Security12bTitle" xlink:type="arc"/>
    <link:definitionArc order="21" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_TradingSymbol" xlink:type="arc"/>
    <link:definitionArc order="22" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SecurityExchangeName" xlink:type="arc"/>
    <link:definitionArc order="23" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityWellKnownSeasonedIssuer" xlink:type="arc"/>
    <link:definitionArc order="24" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityVoluntaryFilers" xlink:type="arc"/>
    <link:definitionArc order="25" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCurrentReportingStatus" xlink:type="arc"/>
    <link:definitionArc order="26" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityInteractiveDataCurrent" xlink:type="arc"/>
    <link:definitionArc order="27" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFilerCategory" xlink:type="arc"/>
    <link:definitionArc order="28" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntitySmallBusiness" xlink:type="arc"/>
    <link:definitionArc order="29" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" xlink:type="arc"/>
    <link:definitionArc order="30" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_IcfrAuditorAttestationFlag" xlink:type="arc"/>
    <link:definitionArc order="31" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityShellCompany" xlink:type="arc"/>
    <link:definitionArc order="32" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityPublicFloat" xlink:type="arc"/>
    <link:definitionArc order="33" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCommonStockSharesOutstanding" xlink:type="arc"/>
    <link:definitionArc order="34" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AuditorName" xlink:type="arc"/>
    <link:definitionArc order="35" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AuditorFirmId" xlink:type="arc"/>
    <link:definitionArc order="36" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AuditorLocation" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-consolidated-balance-sheets-parentheticals" xlink:href="gnrc-20221231.xsd#statement-consolidated-balance-sheets-parentheticals" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-consolidated-balance-sheets-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockShares" xlink:label="us-gaap_TreasuryStockShares" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockShares" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity-parentheticals" xlink:href="gnrc-20221231.xsd#statement-consolidated-statements-of-stockholders-equity-parentheticals" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies" xlink:href="gnrc-20221231.xsd#statement-note-2-summary-of-accounting-policies" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfOffGridEnergyMember" xlink:label="gnrc_AcquisitionOfOffGridEnergyMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CleanEnergyProductMember" xlink:label="gnrc_CleanEnergyProductMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EcobeeIncMember" xlink:label="gnrc_EcobeeIncMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoCustomerMember" xlink:label="gnrc_NoCustomerMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OneCustomerMember" xlink:label="gnrc_OneCustomerMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherAccruedLiabilitiesMember" xlink:label="gnrc_OtherAccruedLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherLongtermLiabilitiesMember" xlink:label="gnrc_OtherLongtermLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TermLoanMember" xlink:label="gnrc_TermLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_MajorCustomersAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="gnrc_OneCustomerMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="gnrc_NoCustomerMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="gnrc_CleanEnergyProductMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain-default" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="gnrc_TermLoanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel2Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain-default" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="gnrc_OtherAccruedLiabilitiesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="gnrc_OtherLongtermLiabilitiesMember" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_AcquisitionOfOffGridEnergyMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_EcobeeIncMember" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-3-acquisitions" xlink:href="gnrc-20221231.xsd#statement-note-3-acquisitions" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-3-acquisitions" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfChiliconMember" xlink:label="gnrc_AcquisitionOfChiliconMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfDeepSeaMember" xlink:label="gnrc_AcquisitionOfDeepSeaMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfEnbalaMember" xlink:label="gnrc_AcquisitionOfEnbalaMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfOffGridEnergyMember" xlink:label="gnrc_AcquisitionOfOffGridEnergyMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AllAcquisitionsMember" xlink:label="gnrc_AllAcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EECAndBluePillarMember" xlink:label="gnrc_EECAndBluePillarMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EcobeeIncMember" xlink:label="gnrc_EcobeeIncMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_Other2020AcquisitionsMember" xlink:label="gnrc_Other2020AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_Other2021AcquisitionsMember" xlink:label="gnrc_Other2021AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioForecastMember" xlink:label="srt_ScenarioForecastMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_EECAndBluePillarMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_AcquisitionOfDeepSeaMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_AcquisitionOfChiliconMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_AcquisitionOfOffGridEnergyMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_EcobeeIncMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementScenarioAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="srt_ScenarioForecastMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain-default" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_Other2021AcquisitionsMember" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_AcquisitionOfEnbalaMember" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_Other2020AcquisitionsMember" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_AllAcquisitionsMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest" xlink:href="gnrc-20221231.xsd#statement-note-4-redeemable-noncontrolling-interest" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CaptivaEnergySolutionsMember" xlink:label="gnrc_CaptivaEnergySolutionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PramacMember" xlink:label="gnrc_PramacMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_RedeemableNoncontrollingInterestTextBlock" xlink:label="gnrc_RedeemableNoncontrollingInterestTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_PramacMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_OwnershipAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_OwnershipDomain" xlink:to="gnrc_PramacMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_CaptivaEnergySolutionsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_OwnershipDomain" xlink:to="gnrc_CaptivaEnergySolutionsMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="gnrc_RedeemableNoncontrollingInterestTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities" xlink:href="gnrc-20221231.xsd#statement-note-5-derivative-instruments-and-hedging-activities" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommodityContractMember" xlink:label="us-gaap_CommodityContractMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeContractMember" xlink:label="us-gaap_ForeignExchangeContractMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NondesignatedMember" xlink:label="us-gaap_NondesignatedMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_CommodityContractMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_HedgingDesignationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_NondesignatedMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_CostOfSalesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_ForeignExchangeContractMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_InterestRateSwapMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss" xlink:href="gnrc-20221231.xsd#statement-note-6-accumulated-other-comprehensive-loss" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-7-segment-reporting" xlink:href="gnrc-20221231.xsd#statement-note-7-segment-reporting" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-7-segment-reporting" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CleanEnergyProductMember" xlink:label="gnrc_CleanEnergyProductMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="us-gaap_GeographicConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetAssetsGeographicAreaMember" xlink:label="us-gaap_NetAssetsGeographicAreaMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="gnrc_CleanEnergyProductMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_GeographicConcentrationRiskMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_NetAssetsGeographicAreaMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details" xlink:href="gnrc-20221231.xsd#statement-note-8-balance-sheet-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets" xlink:href="gnrc-20221231.xsd#statement-note-9-goodwill-and-intangible-assets" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-" xlink:href="gnrc-20221231.xsd#statement-note-10-leases-" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-10-leases-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_LesseeOperatingLeasesAndFinanceLeasesTextBlock" xlink:label="gnrc_LesseeOperatingLeasesAndFinanceLeasesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="gnrc_LesseeOperatingLeasesAndFinanceLeasesTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations" xlink:href="gnrc-20221231.xsd#statement-note-11-product-warranty-obligations" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-12-credit-agreements" xlink:href="gnrc-20221231.xsd#statement-note-12-credit-agreements" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-12-credit-agreements" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ABLRevolvingCreditFacilityMember" xlink:label="gnrc_ABLRevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AdjustedLIBORRateMember" xlink:label="gnrc_AdjustedLIBORRateMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_LIBORFloorRateMember" xlink:label="gnrc_LIBORFloorRateMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TermLoanMember" xlink:label="gnrc_TermLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember" xlink:label="gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheATermLoanFacilityMember" xlink:label="gnrc_TrancheATermLoanFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheBTermLoanFacilityMember" xlink:label="gnrc_TrancheBTermLoanFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioForecastMember" xlink:label="srt_ScenarioForecastMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BaseRateMember" xlink:label="us-gaap_BaseRateMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:label="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="gnrc_TrancheBTermLoanFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VariableRateAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_BaseRateMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="gnrc_AdjustedLIBORRateMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="gnrc_LIBORFloorRateMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="gnrc_TermLoanMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="gnrc_ABLRevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="gnrc_TrancheATermLoanFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementScenarioAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="srt_ScenarioForecastMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain-default" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DebtDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs" xlink:href="gnrc-20221231.xsd#statement-note-13-stock-repurchase-programs" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockMember" xlink:label="us-gaap_TreasuryStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockTextBlock" xlink:label="us-gaap_TreasuryStockTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_TreasuryStockMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_TreasuryStockTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share" xlink:href="gnrc-20221231.xsd#statement-note-14-earnings-per-share" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes" xlink:href="gnrc-20221231.xsd#statement-note-15-income-taxes" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-15-income-taxes" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-16-benefit-plans" xlink:href="gnrc-20221231.xsd#statement-note-16-benefit-plans" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-16-benefit-plans" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_SavingsPlan401kMember" xlink:label="gnrc_SavingsPlan401kMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RetirementPlanTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RetirementPlanTypeDomain" xlink:to="gnrc_SavingsPlan401kMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-17-share-plans" xlink:href="gnrc-20221231.xsd#statement-note-17-share-plans" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-17-share-plans" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EquityIncentivePlanPlanMember" xlink:label="gnrc_EquityIncentivePlanPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_RestrictedStockAndPerformanceSharesMember" xlink:label="gnrc_RestrictedStockAndPerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_The2019EquityIncentivePlanMember" xlink:label="gnrc_The2019EquityIncentivePlanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_BoardOfDirectorsChairmanMember" xlink:label="srt_BoardOfDirectorsChairmanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="gnrc_EquityIncentivePlanPlanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="gnrc_The2019EquityIncentivePlanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="gnrc_RestrictedStockAndPerformanceSharesMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_TitleOfIndividualAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_BoardOfDirectorsChairmanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies" xlink:href="gnrc-20221231.xsd#statement-note-18-commitments-and-contingencies" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember" xlink:label="gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PowerHomeSolarLlcMember" xlink:label="gnrc_PowerHomeSolarLlcMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CollectibilityOfReceivablesMember" xlink:label="us-gaap_CollectibilityOfReceivablesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_LitigationCaseAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_CounterpartyNameAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="gnrc_PowerHomeSolarLlcMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="us-gaap_CollectibilityOfReceivablesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain-default" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies" xlink:href="gnrc-20221231.xsd#statement-significant-accounting-policies-policies" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionRelatedCostsPolicyTextBlock" xlink:label="gnrc_AcquisitionRelatedCostsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock" xlink:label="gnrc_FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtPolicyTextBlock" xlink:label="us-gaap_DebtPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="us-gaap_DerivativesPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivablesPolicyTextBlock" xlink:label="us-gaap_ReceivablesPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PolicyTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PolicyTextBlockAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ConsolidationPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ConcentrationRiskCreditRisk" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ReceivablesPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_InventoryPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DebtPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="gnrc_FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_UseOfEstimates" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DerivativesPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="arc"/>
    <link:definitionArc order="19" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="gnrc_AcquisitionRelatedCostsPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="20" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-tables" xlink:href="gnrc-20221231.xsd#statement-note-2-summary-of-accounting-policies-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" xlink:label="gnrc_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="gnrc_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-3-acquisitions-tables" xlink:href="gnrc-20221231.xsd#statement-note-3-acquisitions-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-3-acquisitions-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock" xlink:label="gnrc_ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionProFormaInformationNonrecurringAdjustmentsTableTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationNonrecurringAdjustmentsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="gnrc_ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationNonrecurringAdjustmentsTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-tables" xlink:href="gnrc-20221231.xsd#statement-note-4-redeemable-noncontrolling-interest-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RedeemableNoncontrollingInterestTableTextBlock" xlink:label="us-gaap_RedeemableNoncontrollingInterestTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_RedeemableNoncontrollingInterestTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-tables" xlink:href="gnrc-20221231.xsd#statement-note-5-derivative-instruments-and-hedging-activities-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock" xlink:label="gnrc_ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="gnrc_ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-tables" xlink:href="gnrc-20221231.xsd#statement-note-6-accumulated-other-comprehensive-loss-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-tables" xlink:href="gnrc-20221231.xsd#statement-note-7-segment-reporting-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-tables" xlink:href="gnrc-20221231.xsd#statement-note-8-balance-sheet-details-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-tables" xlink:href="gnrc-20221231.xsd#statement-note-9-goodwill-and-intangible-assets-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ScheduleOfIntangibleAssetsTableTextBlock" xlink:label="gnrc_ScheduleOfIntangibleAssetsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="gnrc_ScheduleOfIntangibleAssetsTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-tables" xlink:href="gnrc-20221231.xsd#statement-note-10-leases-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-10-leases-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_LeaseTermAndDiscountRateTableTextBlock" xlink:label="gnrc_LeaseTermAndDiscountRateTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" xlink:label="gnrc_OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock" xlink:label="gnrc_ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ScheduleOfLeasesCashFlowInformationTableTextBlock" xlink:label="gnrc_ScheduleOfLeasesCashFlowInformationTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="gnrc_ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="gnrc_ScheduleOfLeasesCashFlowInformationTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="gnrc_LeaseTermAndDiscountRateTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="gnrc_OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-tables" xlink:href="gnrc-20221231.xsd#statement-note-11-product-warranty-obligations-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock" xlink:label="gnrc_ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="gnrc_ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-tables" xlink:href="gnrc-20221231.xsd#statement-note-12-credit-agreements-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-tables" xlink:href="gnrc-20221231.xsd#statement-note-14-earnings-per-share-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-tables" xlink:href="gnrc-20221231.xsd#statement-note-15-income-taxes-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-15-income-taxes-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-17-share-plans-tables" xlink:href="gnrc-20221231.xsd#statement-note-17-share-plans-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-17-share-plans-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-tables" xlink:href="gnrc-20221231.xsd#statement-note-19-quarterly-financial-information-unaudited-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-tables" xlink:href="gnrc-20221231.xsd#statement-note-20-valuation-and-qualifying-accounts-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ValuationAndQualifyingAccountsTableTextBlock" xlink:label="gnrc_ValuationAndQualifyingAccountsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="gnrc_ValuationAndQualifyingAccountsTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-2-summary-of-accounting-policies-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfOffGridEnergyMember" xlink:label="gnrc_AcquisitionOfOffGridEnergyMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AmortizationOfFinancingCostsAndDebtDiscountPremium" xlink:label="gnrc_AmortizationOfFinancingCostsAndDebtDiscountPremium" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CleanEnergyProductMember" xlink:label="gnrc_CleanEnergyProductMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ContingentConsiderationSharePaymentsValue" xlink:label="gnrc_ContingentConsiderationSharePaymentsValue" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredCostsAmortizationExpenseNextTwelveMonths" xlink:label="gnrc_DeferredCostsAmortizationExpenseNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredCostsAmortizationExpenseYearFive" xlink:label="gnrc_DeferredCostsAmortizationExpenseYearFive" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredCostsAmortizationExpenseYearFour" xlink:label="gnrc_DeferredCostsAmortizationExpenseYearFour" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredCostsAmortizationExpenseYearThree" xlink:label="gnrc_DeferredCostsAmortizationExpenseYearThree" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredCostsAmortizationExpenseYearTwo" xlink:label="gnrc_DeferredCostsAmortizationExpenseYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EcobeeIncMember" xlink:label="gnrc_EcobeeIncMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoCustomerMember" xlink:label="gnrc_NoCustomerMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NumberOfMajorCustomers" xlink:label="gnrc_NumberOfMajorCustomers" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OneCustomerMember" xlink:label="gnrc_OneCustomerMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherAccruedLiabilitiesMember" xlink:label="gnrc_OtherAccruedLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherLongtermLiabilitiesMember" xlink:label="gnrc_OtherLongtermLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TermLoanMember" xlink:label="gnrc_TermLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGross" xlink:label="us-gaap_AccountsReceivableGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdvertisingExpense" xlink:label="us-gaap_AdvertisingExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFairValue" xlink:label="us-gaap_DebtInstrumentFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:label="us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_MajorCustomersAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="gnrc_OneCustomerMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="gnrc_NoCustomerMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="gnrc_CleanEnergyProductMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain-default" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="gnrc_TermLoanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel2Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain-default" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="gnrc_OtherAccruedLiabilitiesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="gnrc_OtherLongtermLiabilitiesMember" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_AcquisitionOfOffGridEnergyMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_EcobeeIncMember" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_NumberOfMajorCustomers" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccountsReceivableGross" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Depreciation" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_AmortizationOfFinancingCostsAndDebtDiscountPremium" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_DeferredCostsAmortizationExpenseNextTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_DeferredCostsAmortizationExpenseYearTwo" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_DeferredCostsAmortizationExpenseYearThree" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_DeferredCostsAmortizationExpenseYearFour" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_DeferredCostsAmortizationExpenseYearFive" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdvertisingExpense" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebt" xlink:type="arc"/>
    <link:definitionArc order="19" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentFairValue" xlink:type="arc"/>
    <link:definitionArc order="20" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:type="arc"/>
    <link:definitionArc order="21" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:type="arc"/>
    <link:definitionArc order="22" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_ContingentConsiderationSharePaymentsValue" xlink:type="arc"/>
    <link:definitionArc order="23" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-3-acquisitions-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfChiliconMember" xlink:label="gnrc_AcquisitionOfChiliconMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfDeepSeaMember" xlink:label="gnrc_AcquisitionOfDeepSeaMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfEnbalaMember" xlink:label="gnrc_AcquisitionOfEnbalaMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfOffGridEnergyMember" xlink:label="gnrc_AcquisitionOfOffGridEnergyMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AllAcquisitionsMember" xlink:label="gnrc_AllAcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill" xlink:label="gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ContingentConsiderationSharePaymentShares" xlink:label="gnrc_ContingentConsiderationSharePaymentShares" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ContingentConsiderationSharePaymentsValue" xlink:label="gnrc_ContingentConsiderationSharePaymentsValue" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EECAndBluePillarMember" xlink:label="gnrc_EECAndBluePillarMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EcobeeIncMember" xlink:label="gnrc_EcobeeIncMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_Other2020AcquisitionsMember" xlink:label="gnrc_Other2020AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_Other2021AcquisitionsMember" xlink:label="gnrc_Other2021AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ProformaAmortizationOfIntangibleAssets" xlink:label="gnrc_ProformaAmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioForecastMember" xlink:label="srt_ScenarioForecastMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_EECAndBluePillarMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_AcquisitionOfDeepSeaMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_AcquisitionOfChiliconMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_AcquisitionOfOffGridEnergyMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_EcobeeIncMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementScenarioAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="srt_ScenarioForecastMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain-default" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_Other2021AcquisitionsMember" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_AcquisitionOfEnbalaMember" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_Other2020AcquisitionsMember" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_AllAcquisitionsMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_ContingentConsiderationSharePaymentsValue" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_ContingentConsiderationSharePaymentShares" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_ProformaAmortizationOfIntangibleAssets" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-4-redeemable-noncontrolling-interest-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessAcquisitionNoncontrollingInterestTermOfPutOption" xlink:label="gnrc_BusinessAcquisitionNoncontrollingInterestTermOfPutOption" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessAcquisitionTermOfCallOption" xlink:label="gnrc_BusinessAcquisitionTermOfCallOption" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CaptivaEnergySolutionsMember" xlink:label="gnrc_CaptivaEnergySolutionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoncontrollingInterestAgreementExtensionOfTerm" xlink:label="gnrc_NoncontrollingInterestAgreementExtensionOfTerm" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PramacMember" xlink:label="gnrc_PramacMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage" xlink:label="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest" xlink:label="us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RedeemableNoncontrollingInterestEquityFairValue" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_PramacMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_OwnershipAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_OwnershipDomain" xlink:to="gnrc_PramacMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_CaptivaEnergySolutionsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_OwnershipDomain" xlink:to="gnrc_CaptivaEnergySolutionsMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RedeemableNoncontrollingInterestEquityFairValue" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_NoncontrollingInterestAgreementExtensionOfTerm" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_BusinessAcquisitionNoncontrollingInterestTermOfPutOption" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_BusinessAcquisitionTermOfCallOption" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-5-derivative-instruments-and-hedging-activities-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk" xlink:label="gnrc_DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NumberOfNewContractsEntered" xlink:label="gnrc_NumberOfNewContractsEntered" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommodityContractMember" xlink:label="us-gaap_CommodityContractMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeGainLossOnDerivativeNet" xlink:label="us-gaap_DerivativeGainLossOnDerivativeNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeNumberOfInstrumentsHeld" xlink:label="us-gaap_DerivativeNumberOfInstrumentsHeld" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeContractMember" xlink:label="us-gaap_ForeignExchangeContractMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NondesignatedMember" xlink:label="us-gaap_NondesignatedMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_CommodityContractMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_HedgingDesignationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_NondesignatedMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_CostOfSalesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_ForeignExchangeContractMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_InterestRateSwapMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DerivativeNumberOfInstrumentsHeld" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DerivativeGainLossOnDerivativeNet" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_NumberOfNewContractsEntered" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-6-accumulated-other-comprehensive-loss-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-7-segment-reporting-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CleanEnergyProductMember" xlink:label="gnrc_CleanEnergyProductMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_StandardProductWarrantyAccrualWarrantyProvision" xlink:label="gnrc_StandardProductWarrantyAccrualWarrantyProvision" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="us-gaap_GeographicConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetAssetsGeographicAreaMember" xlink:label="us-gaap_NetAssetsGeographicAreaMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForOtherLosses" xlink:label="us-gaap_ProvisionForOtherLosses" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="gnrc_CleanEnergyProductMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_GeographicConcentrationRiskMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_NetAssetsGeographicAreaMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NumberOfReportableSegments" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_StandardProductWarrantyAccrualWarrantyProvision" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProvisionForOtherLosses" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-8-balance-sheet-details-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment" xlink:label="us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-9-goodwill-and-intangible-assets-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-10-leases-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-10-leases-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract" xlink:label="gnrc_LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:label="us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-11-product-warranty-obligations-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ExtendedWarrantyTerm" xlink:label="gnrc_ExtendedWarrantyTerm" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_StandardProductWarrantyAccrualWarrantyProvision" xlink:label="gnrc_StandardProductWarrantyAccrualWarrantyProvision" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalizedContractCostAmortization" xlink:label="us-gaap_CapitalizedContractCostAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalizedContractCostNet" xlink:label="us-gaap_CapitalizedContractCostNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_StandardProductWarrantyAccrualWarrantyProvision" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_ExtendedWarrantyTerm" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CapitalizedContractCostNet" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CapitalizedContractCostAmortization" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals" xlink:href="gnrc-20221231.xsd#statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-12-credit-agreements-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ABLRevolvingCreditFacilityMember" xlink:label="gnrc_ABLRevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AdjustedLIBORRateMember" xlink:label="gnrc_AdjustedLIBORRateMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CovenantMaximumTotalLeverageRatio" xlink:label="gnrc_CovenantMaximumTotalLeverageRatio" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CovenantMinimumInterestCoverageRatio" xlink:label="gnrc_CovenantMinimumInterestCoverageRatio" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DebtInstrumentSOFRFloor" xlink:label="gnrc_DebtInstrumentSOFRFloor" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_InterestCoverageRatio" xlink:label="gnrc_InterestCoverageRatio" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_LIBORFloorRateMember" xlink:label="gnrc_LIBORFloorRateMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_LineOfCreditFacilityIncrementalCapacity" xlink:label="gnrc_LineOfCreditFacilityIncrementalCapacity" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_SecuredLeverageRatio" xlink:label="gnrc_SecuredLeverageRatio" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TermLoanMember" xlink:label="gnrc_TermLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement" xlink:label="gnrc_ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TotalLeverageRatio" xlink:label="gnrc_TotalLeverageRatio" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember" xlink:label="gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheATermLoanFacilityMember" xlink:label="gnrc_TrancheATermLoanFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheBTermLoanFacilityMember" xlink:label="gnrc_TrancheBTermLoanFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_UncommittedIncrementalTermLoanFacility" xlink:label="gnrc_UncommittedIncrementalTermLoanFacility" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioForecastMember" xlink:label="srt_ScenarioForecastMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BaseRateMember" xlink:label="us-gaap_BaseRateMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFeeAmount" xlink:label="us-gaap_DebtInstrumentFeeAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturityDate" xlink:label="us-gaap_LongTermDebtMaturityDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLongTermLinesOfCredit" xlink:label="us-gaap_ProceedsFromLongTermLinesOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:label="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:label="us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="gnrc_TrancheBTermLoanFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VariableRateAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_BaseRateMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="gnrc_AdjustedLIBORRateMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="gnrc_LIBORFloorRateMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="gnrc_TermLoanMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="gnrc_ABLRevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="gnrc_TrancheATermLoanFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementScenarioAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="srt_ScenarioForecastMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain-default" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShortTermBorrowings" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_UncommittedIncrementalTermLoanFacility" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_DebtInstrumentSOFRFloor" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_SecuredLeverageRatio" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_LineOfCreditFacilityIncrementalCapacity" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredFinanceCostsNet" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProceedsFromLongTermLinesOfCredit" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturityDate" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RepaymentsOfLongTermDebt" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_CovenantMaximumTotalLeverageRatio" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_CovenantMinimumInterestCoverageRatio" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_TotalLeverageRatio" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_InterestCoverageRatio" xlink:type="arc"/>
    <link:definitionArc order="19" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentFeeAmount" xlink:type="arc"/>
    <link:definitionArc order="20" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:type="arc"/>
    <link:definitionArc order="21" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCredit" xlink:type="arc"/>
    <link:definitionArc order="22" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-13-stock-repurchase-programs-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_SharesAcquiredUnderStockRepurchasesProgramShares" xlink:label="gnrc_SharesAcquiredUnderStockRepurchasesProgramShares" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramPeriodInForce1" xlink:label="us-gaap_StockRepurchaseProgramPeriodInForce1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockMember" xlink:label="us-gaap_TreasuryStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="us-gaap_TreasuryStockSharesAcquired" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_TreasuryStockMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchaseProgramPeriodInForce1" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockSharesAcquired" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_SharesAcquiredUnderStockRepurchasesProgramShares" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-14-earnings-per-share-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-15-income-taxes-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-15-income-taxes-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TaxCreditCarryforwardStateManufacturing" xlink:label="gnrc_TaxCreditCarryforwardStateManufacturing" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_VauationAllowancesAndReservesAdjustments" xlink:label="gnrc_VauationAllowancesAndReservesAdjustments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TaxCreditCarryforwardAmount" xlink:label="us-gaap_TaxCreditCarryforwardAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_VauationAllowancesAndReservesAdjustments" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TaxCreditCarryforwardAmount" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_TaxCreditCarryforwardStateManufacturing" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-16-benefit-plans-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-16-benefit-plans-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-16-benefit-plans-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DefinedContributionPlanPercentageOfEligibleCompensation" xlink:label="gnrc_DefinedContributionPlanPercentageOfEligibleCompensation" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EmployerContributionUnderMedicalAndDentalPlan" xlink:label="gnrc_EmployerContributionUnderMedicalAndDentalPlan" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_SavingsPlan401kMember" xlink:label="gnrc_SavingsPlan401kMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="us-gaap_DefinedContributionPlanCostRecognized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RetirementPlanTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RetirementPlanTypeDomain" xlink:to="gnrc_SavingsPlan401kMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_EmployerContributionUnderMedicalAndDentalPlan" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_DefinedContributionPlanPercentageOfEligibleCompensation" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedContributionPlanCostRecognized" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-17-share-plans-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredCompensationArrangementWithIndividualSharesGranted" xlink:label="gnrc_DeferredCompensationArrangementWithIndividualSharesGranted" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EquityIncentivePlanPlanMember" xlink:label="gnrc_EquityIncentivePlanPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PerformanceShareAwardPercentage" xlink:label="gnrc_PerformanceShareAwardPercentage" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_RestrictedStockAndPerformanceSharesMember" xlink:label="gnrc_RestrictedStockAndPerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod" xlink:label="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_The2019EquityIncentivePlanMember" xlink:label="gnrc_The2019EquityIncentivePlanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_BoardOfDirectorsChairmanMember" xlink:label="srt_BoardOfDirectorsChairmanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="gnrc_EquityIncentivePlanPlanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="gnrc_The2019EquityIncentivePlanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="gnrc_RestrictedStockAndPerformanceSharesMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_TitleOfIndividualAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_BoardOfDirectorsChairmanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_PerformanceShareAwardPercentage" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_DeferredCompensationArrangementWithIndividualSharesGranted" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-18-commitments-and-contingencies-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AmountFinancedByDealers" xlink:label="gnrc_AmountFinancedByDealers" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember" xlink:label="gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PowerHomeSolarLlcMember" xlink:label="gnrc_PowerHomeSolarLlcMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGross" xlink:label="us-gaap_AccountsReceivableGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CollectibilityOfReceivablesMember" xlink:label="us-gaap_CollectibilityOfReceivablesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyDamagesSoughtValue" xlink:label="us-gaap_LossContingencyDamagesSoughtValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_LitigationCaseAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_CounterpartyNameAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="gnrc_PowerHomeSolarLlcMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="us-gaap_CollectibilityOfReceivablesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain-default" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_AmountFinancedByDealers" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LossContingencyDamagesSoughtValue" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccountsReceivableGross" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details" xlink:href="gnrc-20221231.xsd#statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DiesAndToolsMember" xlink:label="gnrc_DiesAndToolsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandImprovementsMember" xlink:label="us-gaap_LandImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OfficeEquipmentMember" xlink:label="us-gaap_OfficeEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LandImprovementsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="gnrc_DiesAndToolsMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_VehiclesMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_OfficeEquipmentMember" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details" xlink:href="gnrc-20221231.xsd#statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation" xlink:label="gnrc_BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion" xlink:label="gnrc_BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue" xlink:label="gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ContingentConsiderationLiabilityMember" xlink:label="gnrc_ContingentConsiderationLiabilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ContingentConsiderationPayments" xlink:label="gnrc_ContingentConsiderationPayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByLiabilityClassAxis" xlink:label="us-gaap_FairValueByLiabilityClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByLiabilityClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:to="gnrc_ContingentConsiderationLiabilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_ContingentConsiderationPayments" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details" xlink:href="gnrc-20221231.xsd#statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfChiliconMember" xlink:label="gnrc_AcquisitionOfChiliconMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EcobeeIncMember" xlink:label="gnrc_EcobeeIncMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PaymentsToAcquireBusinessesDeferredCashPayment" xlink:label="gnrc_PaymentsToAcquireBusinessesDeferredCashPayment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_AcquisitionOfChiliconMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_EcobeeIncMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_PaymentsToAcquireBusinessesDeferredCashPayment" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details" xlink:href="gnrc-20221231.xsd#statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details" xlink:href="gnrc-20221231.xsd#statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation" xlink:label="gnrc_AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions" xlink:label="gnrc_AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details" xlink:href="gnrc-20221231.xsd#statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeNet" xlink:label="us-gaap_DerivativeFairValueOfDerivativeNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeContractMember" xlink:label="us-gaap_ForeignExchangeContractMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel2Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_ForeignExchangeContractMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_InterestRateSwapMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DerivativeFairValueOfDerivativeNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details" xlink:href="gnrc-20221231.xsd#statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DomesticMember" xlink:label="gnrc_DomesticMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_InternationalMember" xlink:label="gnrc_InternationalMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillGross" xlink:label="us-gaap_GoodwillGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" xlink:label="us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="gnrc_DomesticMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="gnrc_InternationalMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillGross" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details" xlink:href="gnrc-20221231.xsd#statement-note-10-leases-maturities-of-lease-liabilities-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:label="gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiability" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiability" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details" xlink:href="gnrc-20221231.xsd#statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ABLRevolvingCreditFacilityMember" xlink:label="gnrc_ABLRevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheATermLoanFacilityMember" xlink:label="gnrc_TrancheATermLoanFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheBTermLoanFacilityMember" xlink:label="gnrc_TrancheBTermLoanFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="gnrc_TrancheATermLoanFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="gnrc_TrancheBTermLoanFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="gnrc_ABLRevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtNoncurrent" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details" xlink:href="gnrc-20221231.xsd#statement-note-17-share-plans-summary-of-stock-option-activity-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details" xlink:href="gnrc-20221231.xsd#statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details" xlink:href="gnrc-20221231.xsd#statement-note-15-income-taxes-provision-for-income-taxes-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance" xlink:label="gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details" xlink:href="gnrc-20221231.xsd#statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedTranslationAdjustmentMember" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedTranslationAdjustmentMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details" xlink:href="gnrc-20221231.xsd#statement-note-3-acquisitions-preliminary-price-allocation-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfDeepSeaMember" xlink:label="gnrc_AcquisitionOfDeepSeaMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AllOther2021AcquisitionsMember" xlink:label="gnrc_AllOther2021AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits" xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings" xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EcobeeIncMember" xlink:label="gnrc_EcobeeIncMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_The2020AcquisitionsMember" xlink:label="gnrc_The2020AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_The2021AcquisitionsMember" xlink:label="gnrc_The2021AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_The2022AcquisitionsMember" xlink:label="gnrc_The2022AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_The2022AcquisitionsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_AcquisitionOfDeepSeaMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_EcobeeIncMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_AllOther2021AcquisitionsMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_The2021AcquisitionsMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="gnrc_The2020AcquisitionsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details" xlink:href="gnrc-20221231.xsd#statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_RedeemableNoncontrollingInterestMember" xlink:label="gnrc_RedeemableNoncontrollingInterestMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestChangeInRedemptionValue" xlink:label="us-gaap_MinorityInterestChangeInRedemptionValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests" xlink:label="us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TemporaryEquityNetIncome" xlink:label="us-gaap_TemporaryEquityNetIncome" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="gnrc_RedeemableNoncontrollingInterestMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TemporaryEquityNetIncome" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_MinorityInterestChangeInRedemptionValue" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details" xlink:href="gnrc-20221231.xsd#statement-note-7-segment-reporting-total-sales-by-reportable-segment-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DomesticMember" xlink:label="gnrc_DomesticMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ExternalNetSalesMember" xlink:label="gnrc_ExternalNetSalesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_InternationalMember" xlink:label="gnrc_InternationalMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_IntersegmentSalesMember" xlink:label="gnrc_IntersegmentSalesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntersegmentEliminationMember" xlink:label="us-gaap_IntersegmentEliminationMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="gnrc_DomesticMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_ConsolidationItemsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ConsolidationItemsDomain" xlink:to="us-gaap_OperatingSegmentsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="gnrc_ExternalNetSalesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="gnrc_InternationalMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ConsolidationItemsDomain" xlink:to="us-gaap_IntersegmentEliminationMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="gnrc_IntersegmentSalesMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details" xlink:href="gnrc-20221231.xsd#statement-note-10-leases-leases-cost-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseCost" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseInterestExpense" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LeaseCost" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details" xlink:href="gnrc-20221231.xsd#statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember" xlink:label="gnrc_CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FinanceLeaseAndOtherAssetsMember" xlink:label="gnrc_FinanceLeaseAndOtherAssetsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FinanceLeaseAndOtherLongtermLiabilitiesMember" xlink:label="gnrc_FinanceLeaseAndOtherLongtermLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:label="gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FinanceLeaseRightOfUseAssetGross" xlink:label="gnrc_FinanceLeaseRightOfUseAssetGross" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OperatingLeaseAndOtherAssetsMember" xlink:label="gnrc_OperatingLeaseAndOtherAssetsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:label="gnrc_OperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember" xlink:label="gnrc_OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:label="gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherAccruedLiabilitiesMember" xlink:label="gnrc_OtherAccruedLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="gnrc_OperatingLeaseAndOtherAssetsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="gnrc_OtherAccruedLiabilitiesMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="gnrc_OperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="gnrc_FinanceLeaseAndOtherAssetsMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="gnrc_CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="gnrc_FinanceLeaseAndOtherLongtermLiabilitiesMember" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="gnrc_OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiability" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_FinanceLeaseRightOfUseAssetGross" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiability" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details" xlink:href="gnrc-20221231.xsd#statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeasePayments" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeasePrincipalPayments" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details" xlink:href="gnrc-20221231.xsd#statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details" xlink:href="gnrc-20221231.xsd#statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AmortizationOfDeferredRevenueOnExtendedWarrantyContracts" xlink:label="gnrc_AmortizationOfDeferredRevenueOnExtendedWarrantyContracts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrual" xlink:label="us-gaap_ExtendedProductWarrantyAccrual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued" xlink:label="us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrual" xlink:label="us-gaap_StandardProductWarrantyAccrual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition" xlink:label="us-gaap_StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualPayments" xlink:label="us-gaap_StandardProductWarrantyAccrualPayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:label="us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StandardProductWarrantyAccrual" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StandardProductWarrantyAccrualPayments" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ExtendedProductWarrantyAccrual" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_AmortizationOfDeferredRevenueOnExtendedWarrantyContracts" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details" xlink:href="gnrc-20221231.xsd#statement-note-12-credit-agreements-longterm-borrowings-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ABLRevolvingCreditFacilityMember" xlink:label="gnrc_ABLRevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheATermLoanFacilityMember" xlink:label="gnrc_TrancheATermLoanFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheBTermLoanFacilityMember" xlink:label="gnrc_TrancheBTermLoanFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtAndCapitalLeaseObligations" xlink:label="us-gaap_DebtAndCapitalLeaseObligations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermLineOfCredit" xlink:label="us-gaap_LongTermLineOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherBorrowings" xlink:label="us-gaap_OtherBorrowings" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="gnrc_TrancheATermLoanFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="gnrc_TrancheBTermLoanFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="gnrc_ABLRevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermLineOfCredit" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiability" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherBorrowings" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtAndCapitalLeaseObligations" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtCurrent" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-unrecognized-tax-benefits-details" xlink:href="gnrc-20221231.xsd#statement-note-15-income-taxes-unrecognized-tax-benefits-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-15-income-taxes-unrecognized-tax-benefits-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:label="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details" xlink:href="gnrc-20221231.xsd#statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent" xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent" xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent" xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent" xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details" xlink:href="gnrc-20221231.xsd#statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare" xlink:label="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details" xlink:href="gnrc-20221231.xsd#statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GrossProfit" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details" xlink:href="gnrc-20221231.xsd#statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired" xlink:label="gnrc_SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossMember" xlink:label="us-gaap_AllowanceForCreditLossMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryValuationReserveMember" xlink:label="us-gaap_InventoryValuationReserveMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesPeriodIncreaseDecrease" xlink:label="us-gaap_ValuationAllowancesAndReservesPeriodIncreaseDecrease" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_AllowanceForCreditLossMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_InventoryValuationReserveMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesPeriodIncreaseDecrease" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-consolidated-balance-sheets" xlink:href="gnrc-20221231.xsd#statement-consolidated-balance-sheets" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-consolidated-balance-sheets" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ExcessPurchasePriceOverPredecessorBasis" xlink:label="gnrc_ExcessPurchasePriceOverPredecessorBasis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FiniteLivedCustomerListsNet" xlink:label="gnrc_FiniteLivedCustomerListsNet" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FiniteLivedPatentsAndTechnologyNet" xlink:label="gnrc_FiniteLivedPatentsAndTechnologyNet" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities" xlink:label="gnrc_OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent" xlink:label="gnrc_OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TradeNamesNet" xlink:label="gnrc_TradeNamesNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherIntangibleAssetsNet" xlink:label="us-gaap_OtherIntangibleAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsCurrentAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="gnrc_FiniteLivedCustomerListsNet" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="gnrc_FiniteLivedPatentsAndTechnologyNet" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_OtherIntangibleAssetsNet" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="gnrc_TradeNamesNet" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="gnrc_OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_Assets" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ShortTermBorrowings" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="gnrc_OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_Liabilities" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapital" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_TreasuryStockValue" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="gnrc_ExcessPurchasePriceOverPredecessorBasis" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_MinorityInterest" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows" xlink:href="gnrc-20221231.xsd#statement-consolidated-statements-of-cash-flows" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue" xlink:label="gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ExcessTaxBenefitsFromEquityAwards" xlink:label="gnrc_ExcessTaxBenefitsFromEquityAwards" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:label="us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest" xlink:label="us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="us-gaap_PaymentsOfDividendsCommonStock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireLongtermInvestments" xlink:label="us-gaap_PaymentsToAcquireLongtermInvestments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables" xlink:label="us-gaap_ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfLongtermInvestments" xlink:label="us-gaap_ProceedsFromSaleOfLongtermInvestments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromShortTermDebt" xlink:label="us-gaap_ProceedsFromShortTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities" xlink:label="us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfShortTermDebt" xlink:label="us-gaap_RepaymentsOfShortTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ProfitLoss" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_Depreciation" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnDispositionOfAssets1" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="gnrc_ExcessTaxBenefitsFromEquityAwards" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleOfLongtermInvestments" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireLongtermInvestments" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromShortTermDebt" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfShortTermDebt" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfDividendsCommonStock" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_InterestPaidNet" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_IncomeTaxesPaidNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details" xlink:href="gnrc-20221231.xsd#statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PatentsAndTechnologyMember" xlink:label="gnrc_PatentsAndTechnologyMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerListsMember" xlink:label="us-gaap_CustomerListsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedTradeNames" xlink:label="us-gaap_IndefiniteLivedTradeNames" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerListsMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="gnrc_PatentsAndTechnologyMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IndefiniteLivedTradeNames" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-" xlink:href="gnrc-20221231.xsd#statement-consolidated-statements-of-comprehensive-income-" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentIncomeNonoperating" xlink:label="us-gaap_InvestmentIncomeNonoperating" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GrossProfit" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingExpensesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_SellingAndMarketingExpense" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_GeneralAndAdministrativeExpense" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpenses" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InterestExpense" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InvestmentIncomeNonoperating" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_ProfitLoss" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-3-acquisitions-unaudited-pro-forma-information-details" xlink:href="gnrc-20221231.xsd#statement-note-3-acquisitions-unaudited-pro-forma-information-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-3-acquisitions-unaudited-pro-forma-information-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProFormaMember" xlink:label="srt_ProFormaMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementScenarioAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="srt_ProFormaMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details" xlink:href="gnrc-20221231.xsd#statement-note-7-segment-reporting-net-sales-by-products-and-services-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CommercialAndIndustrialPowerProductsMember" xlink:label="gnrc_CommercialAndIndustrialPowerProductsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DomesticMember" xlink:label="gnrc_DomesticMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_InternationalMember" xlink:label="gnrc_InternationalMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherProductsAndServicesMember" xlink:label="gnrc_OtherProductsAndServicesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ResidentialPowerProductsMember" xlink:label="gnrc_ResidentialPowerProductsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="gnrc_ResidentialPowerProductsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="gnrc_DomesticMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="gnrc_InternationalMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="gnrc_CommercialAndIndustrialPowerProductsMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="gnrc_OtherProductsAndServicesMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details" xlink:href="gnrc-20221231.xsd#statement-note-7-segment-reporting-segment-information-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AdjustedEBITDA" xlink:label="gnrc_AdjustedEBITDA" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessOptimizationExpense" xlink:label="gnrc_BusinessOptimizationExpense" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation" xlink:label="gnrc_DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DomesticMember" xlink:label="gnrc_DomesticMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_InternationalMember" xlink:label="gnrc_InternationalMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoncashWritedownAndOtherAdjustments" xlink:label="gnrc_NoncashWritedownAndOtherAdjustments" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_Other" xlink:label="gnrc_Other" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ProvisionForProductCharges" xlink:label="gnrc_ProvisionForProductCharges" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TransactionCostsAndCredityFaciltyFees" xlink:label="gnrc_TransactionCostsAndCredityFaciltyFees" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="gnrc_DomesticMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="gnrc_InternationalMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_AdjustedEBITDA" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InterestExpense" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DepreciationDepletionAndAmortization" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_NoncashWritedownAndOtherAdjustments" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_TransactionCostsAndCredityFaciltyFees" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_BusinessOptimizationExpense" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_ProvisionForProductCharges" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_Other" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Assets" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details" xlink:href="gnrc-20221231.xsd#statement-note-8-balance-sheet-details-inventories-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details" xlink:href="gnrc-20221231.xsd#statement-note-8-balance-sheet-details-property-and-equipment-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DiesAndToolsMember" xlink:label="gnrc_DiesAndToolsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandAndLandImprovementsMember" xlink:label="us-gaap_LandAndLandImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OfficeEquipmentMember" xlink:label="us-gaap_OfficeEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LandAndLandImprovementsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="gnrc_DiesAndToolsMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_VehiclesMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_OfficeEquipmentMember" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ConstructionInProgressMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details" xlink:href="gnrc-20221231.xsd#statement-note-11-product-warranty-obligations-deferred-product-obligations-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrual" xlink:label="us-gaap_ExtendedProductWarrantyAccrual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrualCurrent" xlink:label="us-gaap_ExtendedProductWarrantyAccrualCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_ExtendedProductWarrantyAccrualNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrual" xlink:label="us-gaap_StandardProductWarrantyAccrual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualCurrent" xlink:label="us-gaap_StandardProductWarrantyAccrualCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_StandardProductWarrantyAccrualNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StandardProductWarrantyAccrualCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StandardProductWarrantyAccrualNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StandardProductWarrantyAccrual" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ExtendedProductWarrantyAccrualCurrent" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ExtendedProductWarrantyAccrualNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ExtendedProductWarrantyAccrual" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details" xlink:href="gnrc-20221231.xsd#statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NetIncomeLossAvailableToCommonStockholders" xlink:label="gnrc_NetIncomeLossAvailableToCommonStockholders" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:label="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestChangeInRedemptionValue" xlink:label="us-gaap_MinorityInterestChangeInRedemptionValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_MinorityInterestChangeInRedemptionValue" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_NetIncomeLossAvailableToCommonStockholders" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details" xlink:href="gnrc-20221231.xsd#statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsDeferredIncome" xlink:label="us-gaap_DeferredTaxAssetsDeferredIncome" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts" xlink:label="us-gaap_DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:label="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsDeferredIncome" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsInventory" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsOther" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsNet" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilities" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity" xlink:href="gnrc-20221231.xsd#statement-consolidated-statements-of-stockholders-equity" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity" xlink:type="extended">
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ExcessPurchasePriceOverPredecessorBasisMember" xlink:label="gnrc_ExcessPurchasePriceOverPredecessorBasisMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares" xlink:label="gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" xlink:label="gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TreasuryStockIssuedDuringPeriodContingentConsideration" xlink:label="gnrc_TreasuryStockIssuedDuringPeriodContingentConsideration" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TreasuryStockIssuedDuringPeriodValueContingentConsideration" xlink:label="gnrc_TreasuryStockIssuedDuringPeriodValueContingentConsideration" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards" xlink:label="gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" xlink:label="gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestChangeInRedemptionValue" xlink:label="us-gaap_MinorityInterestChangeInRedemptionValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToNonredeemableNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNonredeemableNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:label="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesTreasuryStockReissued" xlink:label="us-gaap_StockIssuedDuringPeriodSharesTreasuryStockReissued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueTreasuryStockReissued" xlink:label="us-gaap_StockIssuedDuringPeriodValueTreasuryStockReissued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockMember" xlink:label="us-gaap_TreasuryStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="us-gaap_TreasuryStockSharesAcquired" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:to="srt_CumulativeEffectPeriodOfAdoptionDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_TreasuryStockMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="gnrc_ExcessPurchasePriceOverPredecessorBasisMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_ParentMember" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_NoncontrollingInterestMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:to="srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_MinorityInterestChangeInRedemptionValue" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLossAttributableToNonredeemableNoncontrollingInterest" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesTreasuryStockReissued" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueTreasuryStockReissued" xlink:type="arc"/>
    <link:definitionArc order="19" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockSharesAcquired" xlink:type="arc"/>
    <link:definitionArc order="20" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:type="arc"/>
    <link:definitionArc order="21" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_TreasuryStockIssuedDuringPeriodContingentConsideration" xlink:type="arc"/>
    <link:definitionArc order="22" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_TreasuryStockIssuedDuringPeriodValueContingentConsideration" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details" xlink:href="gnrc-20221231.xsd#statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="arc"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>13
<FILENAME>gnrc-20221231_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 07:21PM UTC 2023-02-22--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" xlink:type="simple"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DocumentAndEntityInformation" xlink:label="gnrc_DocumentAndEntityInformation" xlink:type="locator"/>
    <link:label xlink:label="gnrc_DocumentAndEntityInformation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document And Entity Information</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_DocumentAndEntityInformation" xlink:to="gnrc_DocumentAndEntityInformation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeGainLossOnDerivativeNet" xlink:label="us-gaap_DerivativeGainLossOnDerivativeNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DerivativeGainLossOnDerivativeNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DerivativeGainLossOnDerivativeNet</link:label>
    <link:label xlink:label="us-gaap_DerivativeGainLossOnDerivativeNet-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative, Gain (Loss) on Derivative, Net, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeGainLossOnDerivativeNet" xlink:to="us-gaap_DerivativeGainLossOnDerivativeNet-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoteToFinancialStatementDetailsTextual" xlink:label="gnrc_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:label xlink:label="gnrc_NoteToFinancialStatementDetailsTextual-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note To Financial Statement Details Textual</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_NoteToFinancialStatementDetailsTextual" xlink:to="gnrc_NoteToFinancialStatementDetailsTextual-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-significant-accounting-policies-policies" xlink:label="gnrc_statement-statement-significant-accounting-policies-policies" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-significant-accounting-policies-policies-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Significant Accounting Policies</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-significant-accounting-policies-policies" xlink:to="gnrc_statement-statement-significant-accounting-policies-policies-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-2-summary-of-accounting-policies-tables" xlink:label="gnrc_statement-statement-note-2-summary-of-accounting-policies-tables" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-2-summary-of-accounting-policies-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 2 - Summary of Accounting Policies</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-2-summary-of-accounting-policies-tables" xlink:to="gnrc_statement-statement-note-2-summary-of-accounting-policies-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-3-acquisitions-tables" xlink:label="gnrc_statement-statement-note-3-acquisitions-tables" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-3-acquisitions-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 3 - Acquisitions</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-3-acquisitions-tables" xlink:to="gnrc_statement-statement-note-3-acquisitions-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Risk free interest rate</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-4-redeemable-noncontrolling-interest-tables" xlink:label="gnrc_statement-statement-note-4-redeemable-noncontrolling-interest-tables" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-4-redeemable-noncontrolling-interest-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 4 - Redeemable Noncontrolling Interest</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-4-redeemable-noncontrolling-interest-tables" xlink:to="gnrc_statement-statement-note-4-redeemable-noncontrolling-interest-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-5-derivative-instruments-and-hedging-activities-tables" xlink:label="gnrc_statement-statement-note-5-derivative-instruments-and-hedging-activities-tables" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-5-derivative-instruments-and-hedging-activities-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 5 - Derivative Instruments and Hedging Activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-5-derivative-instruments-and-hedging-activities-tables" xlink:to="gnrc_statement-statement-note-5-derivative-instruments-and-hedging-activities-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-6-accumulated-other-comprehensive-loss-tables" xlink:label="gnrc_statement-statement-note-6-accumulated-other-comprehensive-loss-tables" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-6-accumulated-other-comprehensive-loss-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 6 - Accumulated Other Comprehensive Loss</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-6-accumulated-other-comprehensive-loss-tables" xlink:to="gnrc_statement-statement-note-6-accumulated-other-comprehensive-loss-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-7-segment-reporting-tables" xlink:label="gnrc_statement-statement-note-7-segment-reporting-tables" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-7-segment-reporting-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 7 - Segment Reporting</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-7-segment-reporting-tables" xlink:to="gnrc_statement-statement-note-7-segment-reporting-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-8-balance-sheet-details-tables" xlink:label="gnrc_statement-statement-note-8-balance-sheet-details-tables" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-8-balance-sheet-details-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 8 - Balance Sheet Details</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-8-balance-sheet-details-tables" xlink:to="gnrc_statement-statement-note-8-balance-sheet-details-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-9-goodwill-and-intangible-assets-tables" xlink:label="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-tables" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 9 - Goodwill and Intangible Assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-tables" xlink:to="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-10-leases-tables" xlink:label="gnrc_statement-statement-note-10-leases-tables" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-10-leases-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 10 - Leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-10-leases-tables" xlink:to="gnrc_statement-statement-note-10-leases-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermLineOfCredit" xlink:label="us-gaap_LongTermLineOfCredit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermLineOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Line of credit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermLineOfCredit" xlink:to="us-gaap_LongTermLineOfCredit-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-11-product-warranty-obligations-tables" xlink:label="gnrc_statement-statement-note-11-product-warranty-obligations-tables" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-11-product-warranty-obligations-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 11 - Product Warranty Obligations</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-11-product-warranty-obligations-tables" xlink:to="gnrc_statement-statement-note-11-product-warranty-obligations-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-12-credit-agreements-tables" xlink:label="gnrc_statement-statement-note-12-credit-agreements-tables" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-12-credit-agreements-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 12 - Credit Agreements</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-12-credit-agreements-tables" xlink:to="gnrc_statement-statement-note-12-credit-agreements-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-14-earnings-per-share-tables" xlink:label="gnrc_statement-statement-note-14-earnings-per-share-tables" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-14-earnings-per-share-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 14 - Earnings Per Share</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-14-earnings-per-share-tables" xlink:to="gnrc_statement-statement-note-14-earnings-per-share-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Expected stock price volatility</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-15-income-taxes-tables" xlink:label="gnrc_statement-statement-note-15-income-taxes-tables" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-15-income-taxes-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 15 - Income Taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-15-income-taxes-tables" xlink:to="gnrc_statement-statement-note-15-income-taxes-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LiabilitiesCurrent</link:label>
    <link:label xlink:label="us-gaap_LiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total current liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-17-share-plans-tables" xlink:label="gnrc_statement-statement-note-17-share-plans-tables" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-17-share-plans-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 - Share Plans</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-17-share-plans-tables" xlink:to="gnrc_statement-statement-note-17-share-plans-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-19-quarterly-financial-information-unaudited-tables" xlink:label="gnrc_statement-statement-note-19-quarterly-financial-information-unaudited-tables" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-19-quarterly-financial-information-unaudited-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 19 - Quarterly Financial Information (Unaudited)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-19-quarterly-financial-information-unaudited-tables" xlink:to="gnrc_statement-statement-note-19-quarterly-financial-information-unaudited-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-20-valuation-and-qualifying-accounts-tables" xlink:label="gnrc_statement-statement-note-20-valuation-and-qualifying-accounts-tables" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-20-valuation-and-qualifying-accounts-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 20 - Valuation and Qualifying Accounts</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-20-valuation-and-qualifying-accounts-tables" xlink:to="gnrc_statement-statement-note-20-valuation-and-qualifying-accounts-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details" xlink:label="gnrc_statement-statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 2 - Summary of Accounting Policies - Summary of Allowance for Doubtful Accounts (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details" xlink:to="gnrc_statement-statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Expected life of options (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details" xlink:label="gnrc_statement-statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 2 - Summary of Accounting Policies - Property and Equipment Estimated Useful Lives (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details" xlink:to="gnrc_statement-statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details" xlink:label="gnrc_statement-statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 2 - Summary of Accounting Policies - Reconciliation of Contingent Consideration (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details" xlink:to="gnrc_statement-statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details" xlink:label="gnrc_statement-statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 3 - Acquisitions - The Combined Fair Value of the Consideration Transferred for These Acquisitions (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details" xlink:to="gnrc_statement-statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-3-acquisitions-preliminary-price-allocation-details" xlink:label="gnrc_statement-statement-note-3-acquisitions-preliminary-price-allocation-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-3-acquisitions-preliminary-price-allocation-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 3 - Acquisitions - Preliminary Price Allocation (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-3-acquisitions-preliminary-price-allocation-details" xlink:to="gnrc_statement-statement-note-3-acquisitions-preliminary-price-allocation-details-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-3-acquisitions-unaudited-pro-forma-information-details" xlink:label="gnrc_statement-statement-note-3-acquisitions-unaudited-pro-forma-information-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-3-acquisitions-unaudited-pro-forma-information-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 3 - Acquisitions - Unaudited Pro Forma Information (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-3-acquisitions-unaudited-pro-forma-information-details" xlink:to="gnrc_statement-statement-note-3-acquisitions-unaudited-pro-forma-information-details-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details" xlink:label="gnrc_statement-statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 4 - Redeemable Noncontrolling Interest - Redeemable Noncontrolling Interest (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details" xlink:to="gnrc_statement-statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details" xlink:label="gnrc_statement-statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 5 - Derivative Instruments and Hedging Activities - Fair Value of Derivatives (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details" xlink:to="gnrc_statement-statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details" xlink:label="gnrc_statement-statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 6 - Accumulated Other Comprehensive Loss - Disclosure of Changes in Accumulated Other Comprehensive Loss (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details" xlink:to="gnrc_statement-statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-7-segment-reporting-net-sales-by-products-and-services-details" xlink:label="gnrc_statement-statement-note-7-segment-reporting-net-sales-by-products-and-services-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-7-segment-reporting-net-sales-by-products-and-services-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 7 - Segment Reporting - Net Sales by Products and Services (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-7-segment-reporting-net-sales-by-products-and-services-details" xlink:to="gnrc_statement-statement-note-7-segment-reporting-net-sales-by-products-and-services-details-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-7-segment-reporting-total-sales-by-reportable-segment-details" xlink:label="gnrc_statement-statement-note-7-segment-reporting-total-sales-by-reportable-segment-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-7-segment-reporting-total-sales-by-reportable-segment-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 7 - Segment Reporting - Total Sales by Reportable Segment (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-7-segment-reporting-total-sales-by-reportable-segment-details" xlink:to="gnrc_statement-statement-note-7-segment-reporting-total-sales-by-reportable-segment-details-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-7-segment-reporting-segment-information-details" xlink:label="gnrc_statement-statement-note-7-segment-reporting-segment-information-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-7-segment-reporting-segment-information-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 7 - Segment Reporting - Segment Information (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-7-segment-reporting-segment-information-details" xlink:to="gnrc_statement-statement-note-7-segment-reporting-segment-information-details-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-8-balance-sheet-details-inventories-details" xlink:label="gnrc_statement-statement-note-8-balance-sheet-details-inventories-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-8-balance-sheet-details-inventories-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 8 - Balance Sheet Details - Inventories (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-8-balance-sheet-details-inventories-details" xlink:to="gnrc_statement-statement-note-8-balance-sheet-details-inventories-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Granted (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-8-balance-sheet-details-property-and-equipment-details" xlink:label="gnrc_statement-statement-note-8-balance-sheet-details-property-and-equipment-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-8-balance-sheet-details-property-and-equipment-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 8 - Balance Sheet Details - Property and Equipment (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-8-balance-sheet-details-property-and-equipment-details" xlink:to="gnrc_statement-statement-note-8-balance-sheet-details-property-and-equipment-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeNumberOfInstrumentsHeld" xlink:label="us-gaap_DerivativeNumberOfInstrumentsHeld" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DerivativeNumberOfInstrumentsHeld-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DerivativeNumberOfInstrumentsHeld</link:label>
    <link:label xlink:label="us-gaap_DerivativeNumberOfInstrumentsHeld-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative, Number of Instruments Held, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeNumberOfInstrumentsHeld" xlink:to="us-gaap_DerivativeNumberOfInstrumentsHeld-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details" xlink:label="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 9 - Goodwill and Intangible Assets - Carrying Amount of Goodwill (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details" xlink:to="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vested (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Forfeited (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details" xlink:label="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 9 - Goodwill and Intangible Assets - Summary of Intangible Assets (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details" xlink:to="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Non-vested (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Non-vested (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-10-leases-leases-cost-details" xlink:label="gnrc_statement-statement-note-10-leases-leases-cost-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-10-leases-leases-cost-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 10 - Leases - Leases Cost (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-10-leases-leases-cost-details" xlink:to="gnrc_statement-statement-note-10-leases-leases-cost-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Forfeited (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details" xlink:label="gnrc_statement-statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 10 - Leases - Supplement Balance Sheet Information Related to Leases (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details" xlink:to="gnrc_statement-statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details" xlink:label="gnrc_statement-statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 10 - Leases - Supplement Cash Flow Information Related to Leases (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details" xlink:to="gnrc_statement-statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Non-vested (in shares)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Non-vested (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details" xlink:label="gnrc_statement-statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 10 - Leases - Weighted Average Remaining Lease Term and Discount Rate Information (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details" xlink:to="gnrc_statement-statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</link:label>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-10-leases-maturities-of-lease-liabilities-details" xlink:label="gnrc_statement-statement-note-10-leases-maturities-of-lease-liabilities-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-10-leases-maturities-of-lease-liabilities-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 10 - Leases - Maturities of Lease liabilities (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-10-leases-maturities-of-lease-liabilities-details" xlink:to="gnrc_statement-statement-note-10-leases-maturities-of-lease-liabilities-details-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details" xlink:label="gnrc_statement-statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 11 - Product Warranty Obligations - Reconciliation of Product Warranty Liability (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details" xlink:to="gnrc_statement-statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current portion of long-term borrowings and finance lease obligations</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details" xlink:label="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details" xlink:to="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details" xlink:label="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties 2 (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details" xlink:to="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Granted (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals" xlink:label="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties (Details) (Parentheticals)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals" xlink:to="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Vested (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-11-product-warranty-obligations-deferred-product-obligations-details" xlink:label="gnrc_statement-statement-note-11-product-warranty-obligations-deferred-product-obligations-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-11-product-warranty-obligations-deferred-product-obligations-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 11 - Product Warranty Obligations - Deferred Product Obligations (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-11-product-warranty-obligations-deferred-product-obligations-details" xlink:to="gnrc_statement-statement-note-11-product-warranty-obligations-deferred-product-obligations-details-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-12-credit-agreements-longterm-borrowings-details" xlink:label="gnrc_statement-statement-note-12-credit-agreements-longterm-borrowings-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-12-credit-agreements-longterm-borrowings-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 12 - Credit Agreements - Long-term Borrowings (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-12-credit-agreements-longterm-borrowings-details" xlink:to="gnrc_statement-statement-note-12-credit-agreements-longterm-borrowings-details-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details" xlink:label="gnrc_statement-statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 12 - Credit Agreements - Maturities of Long-term Borrowings Outstanding (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details" xlink:to="gnrc_statement-statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Less: current portion of debt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtCurrent" xlink:to="us-gaap_LongTermDebtCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details" xlink:label="gnrc_statement-statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 14 - Earnings Per Share - Reconciliation of Basic and Diluted Earnings Per Share (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details" xlink:to="gnrc_statement-statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-15-income-taxes-provision-for-income-taxes-details" xlink:label="gnrc_statement-statement-note-15-income-taxes-provision-for-income-taxes-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-15-income-taxes-provision-for-income-taxes-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 15 - Income Taxes - Provision for Income Taxes (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-15-income-taxes-provision-for-income-taxes-details" xlink:to="gnrc_statement-statement-note-15-income-taxes-provision-for-income-taxes-details-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details" xlink:label="gnrc_statement-statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 15 - Income Taxes - Components of Deferred Tax Assets and Liabilities (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details" xlink:to="gnrc_statement-statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Net current-period other comprehensive income (loss)</link:label>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OtherComprehensiveIncomeLossNetOfTax</link:label>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Other comprehensive income (loss)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-15-income-taxes-unrecognized-tax-benefits-details" xlink:label="gnrc_statement-statement-note-15-income-taxes-unrecognized-tax-benefits-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-15-income-taxes-unrecognized-tax-benefits-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 15 - Income Taxes - Unrecognized Tax Benefits (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-15-income-taxes-unrecognized-tax-benefits-details" xlink:to="gnrc_statement-statement-note-15-income-taxes-unrecognized-tax-benefits-details-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details" xlink:label="gnrc_statement-statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 15 - Income Taxes - Reconciliation of Statutory and Effective Tax Rates (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details" xlink:to="gnrc_statement-statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercisable, weighted average exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details" xlink:label="gnrc_statement-statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 - Share Plans - Weighted-average Assumptions used in the Black-Scholes-Merton Option Pricing Model (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details" xlink:to="gnrc_statement-statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-17-share-plans-summary-of-stock-option-activity-details" xlink:label="gnrc_statement-statement-note-17-share-plans-summary-of-stock-option-activity-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-17-share-plans-summary-of-stock-option-activity-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 - Share Plans - Summary of Stock Option Activity (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-17-share-plans-summary-of-stock-option-activity-details" xlink:to="gnrc_statement-statement-note-17-share-plans-summary-of-stock-option-activity-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax</link:label>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), before Reclassifications, before Tax</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details" xlink:label="gnrc_statement-statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 - Share Plans - Summary of Restricted Share Awards Activity (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details" xlink:to="gnrc_statement-statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeContractMember" xlink:label="us-gaap_ForeignExchangeContractMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ForeignExchangeContractMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Exchange Contract [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignExchangeContractMember" xlink:to="us-gaap_ForeignExchangeContractMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details" xlink:label="gnrc_statement-statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 19 - Quarterly Financial Information (Unaudited) - Unaudited Quarterly Financial Information (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details" xlink:to="gnrc_statement-statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommodityContractMember" xlink:label="us-gaap_CommodityContractMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommodityContractMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Commodity Contract [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommodityContractMember" xlink:to="us-gaap_CommodityContractMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details" xlink:label="gnrc_statement-statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details" xlink:type="locator"/>
    <link:label xlink:label="gnrc_statement-statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 20 - Valuation and Qualifying Accounts - Schedule of Valuation and Qualifying Accounts (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_statement-statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details" xlink:to="gnrc_statement-statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other comprehensive income (loss) before reclassifications</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatements" xlink:label="gnrc_NotesToFinancialStatements" xlink:type="locator"/>
    <link:label xlink:label="gnrc_NotesToFinancialStatements-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Notes To Financial Statements</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_NotesToFinancialStatements" xlink:to="gnrc_NotesToFinancialStatements-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax</link:label>
    <link:label xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Amounts reclassified from AOCL</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:to="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:label xlink:label="gnrc_NotesToFinancialStatementsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Notes To Financial Statements [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="gnrc_NotesToFinancialStatementsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercisable, number of options (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</link:label>
    <link:label xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total stockholders&#8217; equity</link:label>
    <link:label xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:label xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Outstanding, weighted average remaining contractual term (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Outstanding, aggregate intrinsic value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted average grant date fair value per share (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding, weighted average exercise price (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding, weighted average exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Forfeited, weighted average exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Granted, weighted average exercise price (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercised, weighted average exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued wages and employee benefits</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsPayableCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts payable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding, number of options (in shares)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding, number of options (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other accrued liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PolicyTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PolicyTextBlockAbstract</link:label>
    <link:label xlink:label="us-gaap_PolicyTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounting Policies</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PolicyTextBlockAbstract" xlink:to="us-gaap_PolicyTextBlockAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProductWarrantyAccrualClassifiedCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued product warranty</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:to="us-gaap_ProductWarrantyAccrualClassifiedCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OneCustomerMember" xlink:label="gnrc_OneCustomerMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_OneCustomerMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">One Customer [Member]</link:label>
    <link:label xlink:label="gnrc_OneCustomerMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Information pertaining to one major customer.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_OneCustomerMember" xlink:to="gnrc_OneCustomerMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</link:label>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilitiesCurrentAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current liabilities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Supplemental Balance Sheet Disclosures [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:to="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockTextBlock" xlink:label="us-gaap_TreasuryStockTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TreasuryStockTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Treasury Stock [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockTextBlock" xlink:to="us-gaap_TreasuryStockTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_Assets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Assets</link:label>
    <link:label xlink:label="us-gaap_Assets-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PlanNameAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PlanNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameDomain" xlink:to="us-gaap_PlanNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</link:label>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</link:label>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyDamagesSoughtValue" xlink:label="us-gaap_LossContingencyDamagesSoughtValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LossContingencyDamagesSoughtValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LossContingencyDamagesSoughtValue</link:label>
    <link:label xlink:label="us-gaap_LossContingencyDamagesSoughtValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Loss Contingency, Damages Sought, Value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyDamagesSoughtValue" xlink:to="us-gaap_LossContingencyDamagesSoughtValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxAssetsNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxAssetsNet-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Income Tax Assets, Net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalizedContractCostNet" xlink:label="us-gaap_CapitalizedContractCostNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CapitalizedContractCostNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CapitalizedContractCostNet</link:label>
    <link:label xlink:label="us-gaap_CapitalizedContractCostNet-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Capitalized Contract Cost, Net, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalizedContractCostNet" xlink:to="us-gaap_CapitalizedContractCostNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Description and Basis of Presentation [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_MinorityInterestDecreaseFromRedemptions</link:label>
    <link:label xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Purchase of additional ownership interest</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:to="us-gaap_MinorityInterestDecreaseFromRedemptions-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AwardTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Finite-lived intangible assets, accumulated amortization</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-lived intangible assets, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Total intangible assets, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-lived intangible assets, gross</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net income attributable to noncontrolling interests</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LossContingencyNatureDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Loss Contingency, Nature [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="us-gaap_LossContingencyNatureDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToNonredeemableNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNonredeemableNoncontrollingInterest" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetIncomeLossAttributableToNonredeemableNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Net income</link:label>
    <link:label xlink:label="us-gaap_NetIncomeLossAttributableToNonredeemableNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NetIncomeLossAttributableToNonredeemableNoncontrollingInterest</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToNonredeemableNoncontrollingInterest" xlink:to="us-gaap_NetIncomeLossAttributableToNonredeemableNoncontrollingInterest-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedTradeNames" xlink:label="us-gaap_IndefiniteLivedTradeNames" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IndefiniteLivedTradeNames-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Indefinite-lived tradenames, gross</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedTradeNames" xlink:to="us-gaap_IndefiniteLivedTradeNames-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NetIncomeLossAvailableToCommonStockholders" xlink:label="gnrc_NetIncomeLossAvailableToCommonStockholders" xlink:type="locator"/>
    <link:label xlink:label="gnrc_NetIncomeLossAvailableToCommonStockholders-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_NetIncomeLossAvailableToCommonStockholders</link:label>
    <link:label xlink:label="gnrc_NetIncomeLossAvailableToCommonStockholders-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net income attributable to common shareholders</link:label>
    <link:label xlink:label="gnrc_NetIncomeLossAvailableToCommonStockholders-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Net income after adjustments for redeemable noncontrolling interest redemption value.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_NetIncomeLossAvailableToCommonStockholders" xlink:to="gnrc_NetIncomeLossAvailableToCommonStockholders-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Loss Contingency Nature [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Comprehensive income (loss) attributable to noncontrolling interests</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</link:label>
    <link:label xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Accumulated depreciation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:label="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation</link:label>
    <link:label xlink:label="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Change in noncontrolling interest share</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:to="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property and equipment, net</link:label>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentNet-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_Goodwill-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Goodwill</link:label>
    <link:label xlink:label="us-gaap_Goodwill-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill</link:label>
    <link:label xlink:label="us-gaap_Goodwill-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Goodwill, Ending Balance</link:label>
    <link:label xlink:label="us-gaap_Goodwill-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:label xlink:label="us-gaap_Goodwill-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PropertyPlantAndEquipmentGross</link:label>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentGross-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Property and equipment, gross</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests" xlink:label="us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests</link:label>
    <link:label xlink:label="us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:label xlink:label="us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests" xlink:to="us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod" xlink:label="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod" xlink:type="locator"/>
    <link:label xlink:label="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod</link:label>
    <link:label xlink:label="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Performance Measurement, Period (Year)</link:label>
    <link:label xlink:label="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Period of performance measurement for share-based compensation awards, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod" xlink:to="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PramacMember" xlink:label="gnrc_PramacMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_PramacMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Pramac [Member]</link:label>
    <link:label xlink:label="gnrc_PramacMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Pramac is a leading manufacturer of portable, commercial and industrial generators primarily sold under the Pramac brand, including PR Industrial S.r.1 and its subsidiaries.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_PramacMember" xlink:to="gnrc_PramacMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TemporaryEquityNetIncome" xlink:label="us-gaap_TemporaryEquityNetIncome" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TemporaryEquityNetIncome-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Share of net income (loss)</link:label>
    <link:label xlink:label="us-gaap_TemporaryEquityNetIncome-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_TemporaryEquityNetIncome</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TemporaryEquityNetIncome" xlink:to="us-gaap_TemporaryEquityNetIncome-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Foreign currency translation</link:label>
    <link:label xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:to="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGross" xlink:label="us-gaap_AccountsReceivableGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsReceivableGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AccountsReceivableGross</link:label>
    <link:label xlink:label="us-gaap_AccountsReceivableGross-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts Receivable, before Allowance for Credit Loss</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGross" xlink:to="us-gaap_AccountsReceivableGross-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProfitLoss-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Net income</link:label>
    <link:label xlink:label="us-gaap_ProfitLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ProfitLoss</link:label>
    <link:label xlink:label="us-gaap_ProfitLoss-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net income</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest</link:label>
    <link:label xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total comprehensive income</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock" xlink:label="gnrc_ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Consideration Transferred for Business Acquisitions [Table Text Block]</link:label>
    <link:label xlink:label="gnrc_ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tabular disclosure of consideration transferred for business acquisitions.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock" xlink:to="gnrc_ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue" xlink:label="gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue" xlink:type="locator"/>
    <link:label xlink:label="gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Changes in fair value</link:label>
    <link:label xlink:label="gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Other noncash charges</link:label>
    <link:label xlink:label="gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of gain (loss) from change in fair value of contingent consideration from business combination.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue" xlink:to="gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EcobeeIncMember" xlink:label="gnrc_EcobeeIncMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_EcobeeIncMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ecobee Inc. [Member]</link:label>
    <link:label xlink:label="gnrc_EcobeeIncMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents ecobee Inc..</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_EcobeeIncMember" xlink:to="gnrc_EcobeeIncMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net income</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest" xlink:to="us-gaap_NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DerivativeInstrumentRiskAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instrument [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeInstrumentRiskAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DerivativeContractTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Contract [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_DerivativeContractTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_RedeemableNoncontrollingInterestMember" xlink:label="gnrc_RedeemableNoncontrollingInterestMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_RedeemableNoncontrollingInterestMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Redeemable Noncontrolling Interest [Member]</link:label>
    <link:label xlink:label="gnrc_RedeemableNoncontrollingInterestMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Information pertaining to redeemable noncontrolling interest.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_RedeemableNoncontrollingInterestMember" xlink:to="gnrc_RedeemableNoncontrollingInterestMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Provision for income taxes</link:label>
    <link:label xlink:label="us-gaap_IncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Provision for income taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingExpenses-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingExpenses</link:label>
    <link:label xlink:label="us-gaap_OperatingExpenses-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total operating expenses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="us-gaap_DefinedContributionPlanCostRecognized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DefinedContributionPlanCostRecognized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DefinedContributionPlanCostRecognized</link:label>
    <link:label xlink:label="us-gaap_DefinedContributionPlanCostRecognized-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Defined Contribution Plan, Cost</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanCostRecognized" xlink:to="us-gaap_DefinedContributionPlanCostRecognized-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GeneralAndAdministrativeExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">General and administrative</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch</link:label>
    <link:label xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Defined Contribution Plan, Employer Matching Contribution, Percent of Match</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
    <link:label xlink:label="dei_AmendmentFlag-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amendment Flag</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
    <link:label xlink:label="dei_CityAreaCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">City Area Code</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UseOfEstimates-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Use of Estimates, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_SharesAcquiredUnderStockRepurchasesProgramShares" xlink:label="gnrc_SharesAcquiredUnderStockRepurchasesProgramShares" xlink:type="locator"/>
    <link:label xlink:label="gnrc_SharesAcquiredUnderStockRepurchasesProgramShares-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_SharesAcquiredUnderStockRepurchasesProgramShares</link:label>
    <link:label xlink:label="gnrc_SharesAcquiredUnderStockRepurchasesProgramShares-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Shares Acquired Under Stock Repurchases Program, Shares (in shares)</link:label>
    <link:label xlink:label="gnrc_SharesAcquiredUnderStockRepurchasesProgramShares-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Number of shares that have been repurchased during the period and are being held in treasury</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_SharesAcquiredUnderStockRepurchasesProgramShares" xlink:to="gnrc_SharesAcquiredUnderStockRepurchasesProgramShares-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xlink:type="locator"/>
    <link:label xlink:label="dei_CurrentFiscalYearEndDate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentFiscalPeriodFocus-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentFiscalYearFocus-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConsolidationPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Consolidation, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentPeriodEndDate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Period End Date</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityFileNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity File Number</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityEmergingGrowthCompany-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:label="us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_WriteOffOfDeferredDebtIssuanceCost-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_WriteOffOfDeferredDebtIssuanceCost</link:label>
    <link:label xlink:label="us-gaap_WriteOffOfDeferredDebtIssuanceCost-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Write off of Deferred Debt Issuance Cost</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:to="us-gaap_WriteOffOfDeferredDebtIssuanceCost-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentType-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Type</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Loss on extinguishment of debt</link:label>
    <link:label xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gain (Loss) on Extinguishment of Debt, Total</link:label>
    <link:label xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Loss on extinguishment of debt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" xlink:type="locator"/>
    <link:label xlink:label="dei_EntitySmallBusiness-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Small Business</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityShellCompany-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Shell Company</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentInformationLineItems-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Line Items]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationLineItems-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentInformationTable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Table]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationTable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityPublicFloat-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Public Float</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityFilerCategory-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Filer Category</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityCurrentReportingStatus-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityVoluntaryFilers-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Voluntary Filers</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Acquisition related costs</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Acquisition Related Costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityWellKnownSeasonedIssuer-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement" xlink:label="gnrc_ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement</link:label>
    <link:label xlink:label="gnrc_ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Threshold for Secured Leverage Ratio Excess Cash Flow Payment Requirement</link:label>
    <link:label xlink:label="gnrc_ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The threshold for secured leverage ration required for the excess cash flow payment requirement.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement" xlink:to="gnrc_ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskPercentage1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ConcentrationRiskPercentage1</link:label>
    <link:label xlink:label="us-gaap_ConcentrationRiskPercentage1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Concentration Risk, Percentage</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityTaxIdentificationNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityCentralIndexKey-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityRegistrantName-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityDomain" xlink:to="dei_EntityDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CustomerConcentrationRiskMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer Concentration Risk [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:label xlink:label="dei_LegalEntityAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Legal Entity [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LegalEntityAxis" xlink:to="dei_LegalEntityAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityAddressAddressLine1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AmortizationOfIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Amortization of intangible assets</link:label>
    <link:label xlink:label="us-gaap_AmortizationOfIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amortization of intangibles</link:label>
    <link:label xlink:label="us-gaap_AmortizationOfIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityAddressCityOrTown-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="us-gaap_GeographicConcentrationRiskMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GeographicConcentrationRiskMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographic Concentration Risk [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeographicConcentrationRiskMember" xlink:to="us-gaap_GeographicConcentrationRiskMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityAddressPostalZipCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityAddressStateOrProvince-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskByTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AllowanceForDoubtfulAccountsReceivable</link:label>
    <link:label xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Ending Balance</link:label>
    <link:label xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:label xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityCommonStockSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdvertisingExpense" xlink:label="us-gaap_AdvertisingExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdvertisingExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AdvertisingExpense</link:label>
    <link:label xlink:label="us-gaap_AdvertisingExpense-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Advertising Expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvertisingExpense" xlink:to="us-gaap_AdvertisingExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SalesRevenueNetMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue Benchmark [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsReceivableMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Receivable [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetAssetsGeographicAreaMember" xlink:label="us-gaap_NetAssetsGeographicAreaMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetAssetsGeographicAreaMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Assets, Geographic Area [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetAssetsGeographicAreaMember" xlink:to="us-gaap_NetAssetsGeographicAreaMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
    <link:label xlink:label="dei_TradingSymbol-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trading Symbol</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_The2020AcquisitionsMember" xlink:label="gnrc_The2020AcquisitionsMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_The2020AcquisitionsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">The 2020 Acquisitions [Member]</link:label>
    <link:label xlink:label="gnrc_The2020AcquisitionsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the business acquisitions in 2020.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_The2020AcquisitionsMember" xlink:to="gnrc_The2020AcquisitionsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
    <link:label xlink:label="dei_LocalPhoneNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Local Phone Number</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_TableTextBlock</link:label>
    <link:label xlink:label="us-gaap_TableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Notes Tables</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_TableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GainLossOnDispositionOfAssets1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_GainLossOnDispositionOfAssets1</link:label>
    <link:label xlink:label="us-gaap_GainLossOnDispositionOfAssets1-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Gain on disposal of assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnDispositionOfAssets1" xlink:to="us-gaap_GainLossOnDispositionOfAssets1-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation" xlink:label="gnrc_BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation" xlink:type="locator"/>
    <link:label xlink:label="gnrc_BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Currency translation</link:label>
    <link:label xlink:label="gnrc_BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation</link:label>
    <link:label xlink:label="gnrc_BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The gain (loss) due to currency translation of contingent consideration arrangements in business combination.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation" xlink:to="gnrc_BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProvisionForDoubtfulAccounts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Provision for credit losses (1)</link:label>
    <link:label xlink:label="us-gaap_ProvisionForDoubtfulAccounts-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts Receivable, Credit Loss Expense (Reversal)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SellingAndMarketingExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Selling and service</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpense" xlink:to="us-gaap_SellingAndMarketingExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Raw material</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation" xlink:label="gnrc_AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation" xlink:type="locator"/>
    <link:label xlink:label="gnrc_AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Currency translation</link:label>
    <link:label xlink:label="gnrc_AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of increase (decrease) in allowance for credit loss on accounts receivable, from currency translation.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation" xlink:to="gnrc_AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finished goods</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Work-in-process</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ResearchAndDevelopmentExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Research and development</link:label>
    <link:label xlink:label="us-gaap_ResearchAndDevelopmentExpense-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Research and Development Expense, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InterestExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_InterestExpense</link:label>
    <link:label xlink:label="us-gaap_InterestExpense-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Interest expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DisclosureTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DisclosureTextBlockAbstract</link:label>
    <link:label xlink:label="us-gaap_DisclosureTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Notes to Financial Statements</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureTextBlockAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherIntangibleAssetsNet" xlink:label="us-gaap_OtherIntangibleAssetsNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherIntangibleAssetsNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other intangible assets, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIntangibleAssetsNet" xlink:to="us-gaap_OtherIntangibleAssetsNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retirement Benefits [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Total intangible assets, gross</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsGrossExcludingGoodwill-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SubsequentEventsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Events [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense</link:label>
    <link:label xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Compensation Arrangement with Individual, Compensation Expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Two</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value of Financial Instruments, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Three</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Four</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Five</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year One</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ValuationAllowancesAndReservesDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued</link:label>
    <link:label xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Compensation Arrangement with Individual, Shares Issued (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowance, Deferred Tax Asset [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Currency Transactions and Translations Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-lived intangible assets, useful life (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingExpensesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating expenses:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:label="us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseRenewalTerm-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseRenewalTerm</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseRenewalTerm-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Renewal Term (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:to="us-gaap_LesseeOperatingLeaseRenewalTerm-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Research and Development Expense, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation</link:label>
    <link:label xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AssetsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AssetsCurrent</link:label>
    <link:label xlink:label="us-gaap_AssetsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total current assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Advertising Cost [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from Contract with Customer [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredTaxAssetsValuationAllowance</link:label>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Valuation allowance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredTaxAssetsNet</link:label>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsNet-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total deferred tax assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtPolicyTextBlock" xlink:label="us-gaap_DebtPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtPolicyTextBlock" xlink:to="us-gaap_DebtPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsOther-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other deferred tax assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOther" xlink:to="us-gaap_DeferredTaxAssetsOther-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:to="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredIncomeTaxLiabilities</link:label>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total deferred tax liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:label xlink:label="us-gaap_InventoryNet-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Capitalized R&amp;D</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:to="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsDeferredIncome" xlink:label="us-gaap_DeferredTaxAssetsDeferredIncome" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsDeferredIncome-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred revenue</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsDeferredIncome" xlink:to="us-gaap_DeferredTaxAssetsDeferredIncome-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsInventory-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredTaxAssetsInventory</link:label>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsInventory-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInventory" xlink:to="us-gaap_DeferredTaxAssetsInventory-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForOtherLosses" xlink:label="us-gaap_ProvisionForOtherLosses" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProvisionForOtherLosses-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ProvisionForOtherLosses</link:label>
    <link:label xlink:label="us-gaap_ProvisionForOtherLosses-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Provision for Other Losses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForOtherLosses" xlink:to="us-gaap_ProvisionForOtherLosses-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment" xlink:label="us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment</link:label>
    <link:label xlink:label="us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other Inventory, Materials, Supplies and Merchandise under Consignment, Gross</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment" xlink:to="us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Reconciliation of Revenue from Segments to Consolidated [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:to="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued expenses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cumulative Effect, Period of Adoption [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:to="srt_CumulativeEffectPeriodOfAdoptionDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cumulative Effect, Period of Adoption [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property and equipment, estimated useful lives (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember" xlink:type="locator"/>
    <link:label xlink:label="srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cumulative Effect, Period of Adoption, Adjusted Balance [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConstructionInProgressMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Construction in Progress [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConstructionInProgressMember" xlink:to="us-gaap_ConstructionInProgressMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Bad debt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoncontrollingInterestAgreementExtensionOfTerm" xlink:label="gnrc_NoncontrollingInterestAgreementExtensionOfTerm" xlink:type="locator"/>
    <link:label xlink:label="gnrc_NoncontrollingInterestAgreementExtensionOfTerm-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_NoncontrollingInterestAgreementExtensionOfTerm</link:label>
    <link:label xlink:label="gnrc_NoncontrollingInterestAgreementExtensionOfTerm-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Noncontrolling Interest Agreement, Extension of Term (Year)</link:label>
    <link:label xlink:label="gnrc_NoncontrollingInterestAgreementExtensionOfTerm-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The extension of the term in the noncontrolling interest agreement.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_NoncontrollingInterestAgreementExtensionOfTerm" xlink:to="gnrc_NoncontrollingInterestAgreementExtensionOfTerm-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts receivable, allowance for doubtful accounts</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsReceivableNetCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts receivable, less allowance for credit losses of $27,664 and $12,025 at December 31, 2022 and 2021, respectively</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NumberOfReportableSegments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NumberOfReportableSegments</link:label>
    <link:label xlink:label="us-gaap_NumberOfReportableSegments-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of Reportable Segments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfReportableSegments" xlink:to="us-gaap_NumberOfReportableSegments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock-based compensation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BuildingAndBuildingImprovementsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Building and Building Improvements [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingAndBuildingImprovementsMember" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandAndLandImprovementsMember" xlink:label="us-gaap_LandAndLandImprovementsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LandAndLandImprovementsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Land and Land Improvements [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandAndLandImprovementsMember" xlink:to="us-gaap_LandAndLandImprovementsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandImprovementsMember" xlink:label="us-gaap_LandImprovementsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LandImprovementsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Land Improvements [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandImprovementsMember" xlink:to="us-gaap_LandImprovementsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseholdImprovementsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_BoardOfDirectorsChairmanMember" xlink:label="srt_BoardOfDirectorsChairmanMember" xlink:type="locator"/>
    <link:label xlink:label="srt_BoardOfDirectorsChairmanMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Board of Directors Chairman [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_BoardOfDirectorsChairmanMember" xlink:to="srt_BoardOfDirectorsChairmanMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherNonoperatingIncomeExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NonoperatingIncomeExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NonoperatingIncomeExpense</link:label>
    <link:label xlink:label="us-gaap_NonoperatingIncomeExpense-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total other expense, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SegmentReportingDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-Lived Tangible Asset [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating loss and credit carryforwards</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AssetsCurrentAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current assets:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</link:label>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents at beginning of period</link:label>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents at end of period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effect of exchange rate changes on cash and cash equivalents</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</link:label>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net (decrease) increase in cash and cash equivalents</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NetCashProvidedByUsedInFinancingActivities</link:label>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash provided by (used in) financing activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentIncomeNonoperating" xlink:label="us-gaap_InvestmentIncomeNonoperating" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InvestmentIncomeNonoperating-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investment income</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentIncomeNonoperating" xlink:to="us-gaap_InvestmentIncomeNonoperating-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating income</link:label>
    <link:label xlink:label="us-gaap_OperatingIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Income from operations</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NetCashProvidedByUsedInOperatingActivities</link:label>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash provided by operating activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other (expense) income:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NetCashProvidedByUsedInInvestingActivities</link:label>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash used in investing activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredTaxLiabilities</link:label>
    <link:label xlink:label="us-gaap_DeferredTaxLiabilities-label" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xml:lang="en-US">Net deferred tax liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill and intangible assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GrossProfit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Gross profit</link:label>
    <link:label xlink:label="us-gaap_GrossProfit-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Gross profit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BaseRateMember" xlink:label="us-gaap_BaseRateMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BaseRateMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Base Rate [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BaseRateMember" xlink:to="us-gaap_BaseRateMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CostOfGoodsAndServicesSold-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Costs of goods sold</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="us-gaap_DerivativesPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DerivativesPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivatives, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativesPolicyTextBlock" xlink:to="us-gaap_DerivativesPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts" xlink:label="us-gaap_DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt refinancing costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts" xlink:to="us-gaap_DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Interest swap and derivative</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:to="us-gaap_DeferredTaxLiabilitiesDerivatives-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities</link:label>
    <link:label xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Payment for Contingent Consideration Liability, Financing Activities</link:label>
    <link:label xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Payment of contingent acquisition consideration</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskCreditRisk-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk, Credit Risk, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</link:label>
    <link:label xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Payment, Tax Withholding, Share-Based Payment Arrangement</link:label>
    <link:label xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Taxes paid related to equity awards</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Depreciation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:label="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Prepaid expenses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:to="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="us-gaap_PaymentsOfDividendsCommonStock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsOfDividendsCommonStock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsOfDividendsCommonStock</link:label>
    <link:label xlink:label="us-gaap_PaymentsOfDividendsCommonStock-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Cash dividends paid to noncontrolling interest of subsidiary</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividendsCommonStock" xlink:to="us-gaap_PaymentsOfDividendsCommonStock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProFormaMember" xlink:label="srt_ProFormaMember" xlink:type="locator"/>
    <link:label xlink:label="srt_ProFormaMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Pro Forma [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProFormaMember" xlink:to="srt_ProFormaMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsForRepurchaseOfCommonStock</link:label>
    <link:label xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Payments for Repurchase of Common Stock</link:label>
    <link:label xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Stock repurchases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_ScenarioUnspecifiedDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Scenario [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="srt_ScenarioUnspecifiedDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioForecastMember" xlink:label="srt_ScenarioForecastMember" xlink:type="locator"/>
    <link:label xlink:label="srt_ScenarioForecastMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Forecast [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScenarioForecastMember" xlink:to="srt_ScenarioForecastMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromStockOptionsExercised-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from the exercise of stock options</link:label>
    <link:label xlink:label="us-gaap_ProceedsFromStockOptionsExercised-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Proceeds from Stock Options Exercised</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Total sales</link:label>
    <link:label xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net sales</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Title of Individual [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CurrentStateAndLocalTaxExpenseBenefit</link:label>
    <link:label xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">State</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_TitleOfIndividualAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Title of Individual [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">State</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_StatementScenarioAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Scenario [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_StatementScenarioAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CurrentForeignTaxExpenseBenefit</link:label>
    <link:label xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentForeignTaxExpenseBenefit" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredForeignIncomeTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CurrentFederalTaxExpenseBenefit</link:label>
    <link:label xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Federal</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Federal</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CurrentIncomeTaxExpenseBenefit</link:label>
    <link:label xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Current Income Tax Expense (Benefit), Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue performance period (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueRemainingPerformanceObligation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue performance obligation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest" xlink:label="us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest</link:label>
    <link:label xlink:label="us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Payments for Repurchase of Redeemable Noncontrolling Interest</link:label>
    <link:label xlink:label="us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Purchase of additional ownership interest</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest" xlink:to="us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</link:label>
    <link:label xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Income before provision for income taxes</link:label>
    <link:label xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income before provision for income taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax</link:label>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss) before Reclassifications, Tax, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag" xlink:type="locator"/>
    <link:label xlink:label="dei_IcfrAuditorAttestationFlag-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ICFR Auditor Attestation Flag</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_IcfrAuditorAttestationFlag" xlink:to="dei_IcfrAuditorAttestationFlag-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Comprehensive Income (Loss) Note [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:to="us-gaap_ComprehensiveIncomeNoteTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other comprehensive income (loss):</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:to="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsOfDebtIssuanceCosts</link:label>
    <link:label xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Payment of debt issuance costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDebtIssuanceCosts" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disaggregation of Revenue [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RepaymentsOfLongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RepaymentsOfLongTermDebt</link:label>
    <link:label xlink:label="us-gaap_RepaymentsOfLongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Repayments of Long-Term Debt, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities" xlink:label="us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities</link:label>
    <link:label xlink:label="us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Repayments of long-term borrowings and finance lease obligations</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities" xlink:to="us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and Cash Equivalents, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivablesPolicyTextBlock" xlink:label="us-gaap_ReceivablesPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ReceivablesPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Receivable [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesPolicyTextBlock" xlink:to="us-gaap_ReceivablesPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefits-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_UnrecognizedTaxBenefits</link:label>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefits-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Unrecognized tax benefit, beginning of period</link:label>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefits-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Unrecognized tax benefit, end of period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountingPoliciesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Significant Accounting Policies [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:label="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations</link:label>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Statute of limitation expirations</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:to="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities</link:label>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Settlements</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase in unrecognized tax benefit for positions taken in prior period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase in unrecognized tax benefit for positions taken in current period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs</link:label>
    <link:label xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Charge-offs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from long-term borrowings</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:to="us-gaap_ProceedsFromIssuanceOfLongTermDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense</link:label>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unrecognized Tax Benefits, Income Tax Penalties Expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense</link:label>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unrecognized Tax Benefits, Interest on Income Taxes Expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:to="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLongTermLinesOfCredit" xlink:label="us-gaap_ProceedsFromLongTermLinesOfCredit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromLongTermLinesOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ProceedsFromLongTermLinesOfCredit</link:label>
    <link:label xlink:label="us-gaap_ProceedsFromLongTermLinesOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Proceeds from Long-term Lines of Credit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromLongTermLinesOfCredit" xlink:to="us-gaap_ProceedsFromLongTermLinesOfCredit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorName" xlink:label="dei_AuditorName" xlink:type="locator"/>
    <link:label xlink:label="dei_AuditorName-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Auditor Name</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorName" xlink:to="dei_AuditorName-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId" xlink:type="locator"/>
    <link:label xlink:label="dei_AuditorFirmId-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Auditor Firm ID</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorFirmId" xlink:to="dei_AuditorFirmId-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" xlink:label="gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" xlink:type="locator"/>
    <link:label xlink:label="gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock issued under equity incentive plans, net of shares withheld for employee taxes and strike price</link:label>
    <link:label xlink:label="gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Equity impact of the value of stock issued under equity incentive plans, net of shares withheld for employee taxes.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" xlink:to="gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation" xlink:type="locator"/>
    <link:label xlink:label="dei_AuditorLocation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Auditor Location</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorLocation" xlink:to="dei_AuditorLocation-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ExcessPurchasePriceOverPredecessorBasisMember" xlink:label="gnrc_ExcessPurchasePriceOverPredecessorBasisMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ExcessPurchasePriceOverPredecessorBasisMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Excess Purchase Price over Predecessor Basis [Member]</link:label>
    <link:label xlink:label="gnrc_ExcessPurchasePriceOverPredecessorBasisMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The excess purchase price over predecessor basis.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ExcessPurchasePriceOverPredecessorBasisMember" xlink:to="gnrc_ExcessPurchasePriceOverPredecessorBasisMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfShortTermDebt" xlink:label="us-gaap_RepaymentsOfShortTermDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RepaymentsOfShortTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RepaymentsOfShortTermDebt</link:label>
    <link:label xlink:label="us-gaap_RepaymentsOfShortTermDebt-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Repayments of short-term borrowings</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfShortTermDebt" xlink:to="us-gaap_RepaymentsOfShortTermDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares" xlink:label="gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares" xlink:type="locator"/>
    <link:label xlink:label="gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock issued under equity incentive plans, net of shares withheld for employee taxes and strike price (in shares)</link:label>
    <link:label xlink:label="gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Number of shares issued under equity incentive plans, net of shares withheld for employee taxes.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares" xlink:to="gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TaxCreditCarryforwardAmount" xlink:label="us-gaap_TaxCreditCarryforwardAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TaxCreditCarryforwardAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_TaxCreditCarryforwardAmount</link:label>
    <link:label xlink:label="us-gaap_TaxCreditCarryforwardAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax Credit Carryforward, Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxCreditCarryforwardAmount" xlink:to="us-gaap_TaxCreditCarryforwardAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</link:label>
    <link:label xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted average common shares outstanding - diluted: (in shares)</link:label>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Diluted shares (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromShortTermDebt" xlink:label="us-gaap_ProceedsFromShortTermDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromShortTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from short-term borrowings</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromShortTermDebt" xlink:to="us-gaap_ProceedsFromShortTermDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfFinancialPositionAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareDiluted-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Net income attributable to common shareholders per common share - diluted: (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_EarningsPerShareDiluted-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">As reported (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_EarningsPerShareDiluted-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net income attributable to Generac Holdings Inc. per common share - diluted: (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent</link:label>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based compensation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted average common shares outstanding - basic: (in shares)</link:label>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted average shares, basic (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EffectiveIncomeTaxRateContinuingOperations</link:label>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Effective tax rate</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareBasic-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Net income attributable to common shareholders per common share - basic: (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_EarningsPerShareBasic-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EarningsPerShareBasic</link:label>
    <link:label xlink:label="us-gaap_EarningsPerShareBasic-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net income attributable to Generac Holdings Inc. per common share - basic: (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NumberOfMajorCustomers" xlink:label="gnrc_NumberOfMajorCustomers" xlink:type="locator"/>
    <link:label xlink:label="gnrc_NumberOfMajorCustomers-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_NumberOfMajorCustomers</link:label>
    <link:label xlink:label="gnrc_NumberOfMajorCustomers-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of Major Customers</link:label>
    <link:label xlink:label="gnrc_NumberOfMajorCustomers-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents number of major customers that accounts for 10 percent or more of the entity's revenues.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_NumberOfMajorCustomers" xlink:to="gnrc_NumberOfMajorCustomers-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AmortizationOfFinancingCostsAndDebtDiscountPremium" xlink:label="gnrc_AmortizationOfFinancingCostsAndDebtDiscountPremium" xlink:type="locator"/>
    <link:label xlink:label="gnrc_AmortizationOfFinancingCostsAndDebtDiscountPremium-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_AmortizationOfFinancingCostsAndDebtDiscountPremium</link:label>
    <link:label xlink:label="gnrc_AmortizationOfFinancingCostsAndDebtDiscountPremium-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Amortization of Financing Costs and Debt Discount Premium</link:label>
    <link:label xlink:label="gnrc_AmortizationOfFinancingCostsAndDebtDiscountPremium-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of non-cash expense included in interest expense to issue and amortize debt discount and obtain financing associated with the related debt instruments.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_AmortizationOfFinancingCostsAndDebtDiscountPremium" xlink:to="gnrc_AmortizationOfFinancingCostsAndDebtDiscountPremium-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfCashFlowsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredCostsAmortizationExpenseYearTwo" xlink:label="gnrc_DeferredCostsAmortizationExpenseYearTwo" xlink:type="locator"/>
    <link:label xlink:label="gnrc_DeferredCostsAmortizationExpenseYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_DeferredCostsAmortizationExpenseYearTwo</link:label>
    <link:label xlink:label="gnrc_DeferredCostsAmortizationExpenseYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Costs Amortization Expense, Year Two</link:label>
    <link:label xlink:label="gnrc_DeferredCostsAmortizationExpenseYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of amortization expense expected to be recognized during the second fiscal year following the latest fiscal year for deferred costs.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_DeferredCostsAmortizationExpenseYearTwo" xlink:to="gnrc_DeferredCostsAmortizationExpenseYearTwo-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredCostsAmortizationExpenseNextTwelveMonths" xlink:label="gnrc_DeferredCostsAmortizationExpenseNextTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="gnrc_DeferredCostsAmortizationExpenseNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_DeferredCostsAmortizationExpenseNextTwelveMonths</link:label>
    <link:label xlink:label="gnrc_DeferredCostsAmortizationExpenseNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Costs Amortization Expense, Next Twelve Months</link:label>
    <link:label xlink:label="gnrc_DeferredCostsAmortizationExpenseNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of amortization expense expected to be recognized during the next fiscal year following the latest fiscal year for deferred costs.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_DeferredCostsAmortizationExpenseNextTwelveMonths" xlink:to="gnrc_DeferredCostsAmortizationExpenseNextTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredCostsAmortizationExpenseYearFour" xlink:label="gnrc_DeferredCostsAmortizationExpenseYearFour" xlink:type="locator"/>
    <link:label xlink:label="gnrc_DeferredCostsAmortizationExpenseYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_DeferredCostsAmortizationExpenseYearFour</link:label>
    <link:label xlink:label="gnrc_DeferredCostsAmortizationExpenseYearFour-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Costs Amortization Expense, Year Four</link:label>
    <link:label xlink:label="gnrc_DeferredCostsAmortizationExpenseYearFour-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of amortization expense expected to be recognized during the fourth fiscal year following the latest fiscal year for deferred costs.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_DeferredCostsAmortizationExpenseYearFour" xlink:to="gnrc_DeferredCostsAmortizationExpenseYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfStockholdersEquityAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredCostsAmortizationExpenseYearThree" xlink:label="gnrc_DeferredCostsAmortizationExpenseYearThree" xlink:type="locator"/>
    <link:label xlink:label="gnrc_DeferredCostsAmortizationExpenseYearThree-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_DeferredCostsAmortizationExpenseYearThree</link:label>
    <link:label xlink:label="gnrc_DeferredCostsAmortizationExpenseYearThree-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Costs Amortization Expense, Year Three</link:label>
    <link:label xlink:label="gnrc_DeferredCostsAmortizationExpenseYearThree-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of amortization expense expected to be recognized during the third fiscal year following the latest fiscal year for deferred costs.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_DeferredCostsAmortizationExpenseYearThree" xlink:to="gnrc_DeferredCostsAmortizationExpenseYearThree-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredCostsAmortizationExpenseYearFive" xlink:label="gnrc_DeferredCostsAmortizationExpenseYearFive" xlink:type="locator"/>
    <link:label xlink:label="gnrc_DeferredCostsAmortizationExpenseYearFive-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_DeferredCostsAmortizationExpenseYearFive</link:label>
    <link:label xlink:label="gnrc_DeferredCostsAmortizationExpenseYearFive-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Costs Amortization Expense, Year Five</link:label>
    <link:label xlink:label="gnrc_DeferredCostsAmortizationExpenseYearFive-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of amortization expense expected to be recognized during the fifth fiscal year following the latest fiscal year for deferred costs.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_DeferredCostsAmortizationExpenseYearFive" xlink:to="gnrc_DeferredCostsAmortizationExpenseYearFive-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Quarterly Financial Information [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseInterestExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Interest on lease liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseInterestExpense" xlink:to="us-gaap_FinanceLeaseInterestExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" xlink:label="gnrc_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="gnrc_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property Plant and Equipment, Estimated Useful Lives [Table Text Block]</link:label>
    <link:label xlink:label="gnrc_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tabular disclosure for the useful life of long-lived, physical assets used in the normal conduct of business and not intended for resale.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" xlink:to="gnrc_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityPaymentsDue</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total minimum lease payments, finance leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amortization of ROU assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2027, finance lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">After 2023, finance leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TreasuryStockIssuedDuringPeriodContingentConsideration" xlink:label="gnrc_TreasuryStockIssuedDuringPeriodContingentConsideration" xlink:type="locator"/>
    <link:label xlink:label="gnrc_TreasuryStockIssuedDuringPeriodContingentConsideration-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payment of acquisition contingent consideration (in shares)</link:label>
    <link:label xlink:label="gnrc_TreasuryStockIssuedDuringPeriodContingentConsideration-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Number of shares of treasury stock issued during period for contingent consideration.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_TreasuryStockIssuedDuringPeriodContingentConsideration" xlink:to="gnrc_TreasuryStockIssuedDuringPeriodContingentConsideration-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Interest component</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TreasuryStockIssuedDuringPeriodValueContingentConsideration" xlink:label="gnrc_TreasuryStockIssuedDuringPeriodValueContingentConsideration" xlink:type="locator"/>
    <link:label xlink:label="gnrc_TreasuryStockIssuedDuringPeriodValueContingentConsideration-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payment of acquisition contingent consideration</link:label>
    <link:label xlink:label="gnrc_TreasuryStockIssuedDuringPeriodValueContingentConsideration-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Value of treasury stock issued for contingent consideration during period.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_TreasuryStockIssuedDuringPeriodValueContingentConsideration" xlink:to="gnrc_TreasuryStockIssuedDuringPeriodValueContingentConsideration-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ContingentConsiderationSharePaymentsValue" xlink:label="gnrc_ContingentConsiderationSharePaymentsValue" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ContingentConsiderationSharePaymentsValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_ContingentConsiderationSharePaymentsValue</link:label>
    <link:label xlink:label="gnrc_ContingentConsiderationSharePaymentsValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contingent Consideration, Share Payments, Value</link:label>
    <link:label xlink:label="gnrc_ContingentConsiderationSharePaymentsValue-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the monetary amount of share payments for contingent consideration.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ContingentConsiderationSharePaymentsValue" xlink:to="gnrc_ContingentConsiderationSharePaymentsValue-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember" xlink:label="gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Power Home Solar, LLC Against Generac Power Systems, Inc. [Member]</link:label>
    <link:label xlink:label="gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Power Home Solar, LLC Against Generac Power Systems, Inc..</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember" xlink:to="gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2023, finance lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PowerHomeSolarLlcMember" xlink:label="gnrc_PowerHomeSolarLlcMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_PowerHomeSolarLlcMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Power Home Solar, LLC [Member]</link:label>
    <link:label xlink:label="gnrc_PowerHomeSolarLlcMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Power Home Solar, LLC.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_PowerHomeSolarLlcMember" xlink:to="gnrc_PowerHomeSolarLlcMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2024, finance lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2025, finance lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2026, finance lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Nondeductible U.S. compensation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ProvisionForProductCharges" xlink:label="gnrc_ProvisionForProductCharges" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ProvisionForProductCharges-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Provision for regulatory and clean energy product charges (6)</link:label>
    <link:label xlink:label="gnrc_ProvisionForProductCharges-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents a specific credit loss provision for a clean energy product customer that filed for bankruptcy, as well as a warranty provision to address certain clean energy product warranty-related matters</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ProvisionForProductCharges" xlink:to="gnrc_ProvisionForProductCharges-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage" xlink:label="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Step Acquisition, Equity Interest in Acquiree, including Subsequent Acquisition, Percentage, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage" xlink:to="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finance Leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ContingentConsiderationSharePaymentShares" xlink:label="gnrc_ContingentConsiderationSharePaymentShares" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ContingentConsiderationSharePaymentShares-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_ContingentConsiderationSharePaymentShares</link:label>
    <link:label xlink:label="gnrc_ContingentConsiderationSharePaymentShares-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contingent Consideration, Share Payment, Shares (in shares)</link:label>
    <link:label xlink:label="gnrc_ContingentConsiderationSharePaymentShares-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the amount of shares in a share payment for contingent consideration.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ContingentConsiderationSharePaymentShares" xlink:to="gnrc_ContingentConsiderationSharePaymentShares-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessAcquisitionTermOfCallOption" xlink:label="gnrc_BusinessAcquisitionTermOfCallOption" xlink:type="locator"/>
    <link:label xlink:label="gnrc_BusinessAcquisitionTermOfCallOption-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_BusinessAcquisitionTermOfCallOption</link:label>
    <link:label xlink:label="gnrc_BusinessAcquisitionTermOfCallOption-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Acquisition, Term of Call Option (Year)</link:label>
    <link:label xlink:label="gnrc_BusinessAcquisitionTermOfCallOption-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The term of call option available to the company in a business acquisition transaction.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_BusinessAcquisitionTermOfCallOption" xlink:to="gnrc_BusinessAcquisitionTermOfCallOption-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">State taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CaptivaEnergySolutionsMember" xlink:label="gnrc_CaptivaEnergySolutionsMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_CaptivaEnergySolutionsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Captiva Energy Solutions [Member]</link:label>
    <link:label xlink:label="gnrc_CaptivaEnergySolutionsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information about Captiva Energy Solutions.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_CaptivaEnergySolutionsMember" xlink:to="gnrc_CaptivaEnergySolutionsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_The2022AcquisitionsMember" xlink:label="gnrc_The2022AcquisitionsMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_The2022AcquisitionsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">The 2022 Acquisitions [Member]</link:label>
    <link:label xlink:label="gnrc_The2022AcquisitionsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Relating to the 2022 acquisitions.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_The2022AcquisitionsMember" xlink:to="gnrc_The2022AcquisitionsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_The2019EquityIncentivePlanMember" xlink:label="gnrc_The2019EquityIncentivePlanMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_The2019EquityIncentivePlanMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">The 2019 Equity Incentive Plan [Member]</link:label>
    <link:label xlink:label="gnrc_The2019EquityIncentivePlanMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Information related to the 2019 Equity Incentive Plan.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_The2019EquityIncentivePlanMember" xlink:to="gnrc_The2019EquityIncentivePlanMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits" xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits" xlink:type="locator"/>
    <link:label xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Accrued wages and employee benefits</link:label>
    <link:label xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits</link:label>
    <link:label xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of accrued wages and employee benefits due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits" xlink:to="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finance Leases (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch</link:label>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Research and development credits</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_SecuredLeverageRatio" xlink:label="gnrc_SecuredLeverageRatio" xlink:type="locator"/>
    <link:label xlink:label="gnrc_SecuredLeverageRatio-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_SecuredLeverageRatio</link:label>
    <link:label xlink:label="gnrc_SecuredLeverageRatio-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Secured Leverage Ratio</link:label>
    <link:label xlink:label="gnrc_SecuredLeverageRatio-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Ratio used to calculate financial leverage and the ability to meet financial obligations. If the borrower's actual secured leverage ratio is below the 3.75 threshold for the annual period, the Excess Cash Flow payment requirement for that period is eliminated.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_SecuredLeverageRatio" xlink:to="gnrc_SecuredLeverageRatio-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Financing activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">U.S. statutory rate</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Change in valuation allowance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ContingentConsiderationPayments" xlink:label="gnrc_ContingentConsiderationPayments" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ContingentConsiderationPayments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_ContingentConsiderationPayments</link:label>
    <link:label xlink:label="gnrc_ContingentConsiderationPayments-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Payment of contingent consideration (1)</link:label>
    <link:label xlink:label="gnrc_ContingentConsiderationPayments-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of contingent consideration paid during period, including equity issued as payment.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ContingentConsiderationPayments" xlink:to="gnrc_ContingentConsiderationPayments-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FiniteLivedPatentsAndTechnologyNet" xlink:label="gnrc_FiniteLivedPatentsAndTechnologyNet" xlink:type="locator"/>
    <link:label xlink:label="gnrc_FiniteLivedPatentsAndTechnologyNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Patents and technology, net</link:label>
    <link:label xlink:label="gnrc_FiniteLivedPatentsAndTechnologyNet-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the carrying amount of finite-lived patents and technology as of balance sheet date.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_FiniteLivedPatentsAndTechnologyNet" xlink:to="gnrc_FiniteLivedPatentsAndTechnologyNet-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent" xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent" xlink:type="locator"/>
    <link:label xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">State tax rate differential</link:label>
    <link:label xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent" xlink:to="gnrc_EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net assets acquired</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</link:label>
    <link:label xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Payments to Acquire Businesses, Net of Cash Acquired, Total</link:label>
    <link:label xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Acquisition of businesses, net of cash acquired</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Other long-term liabilities</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Long-term debt</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsToAcquireEquityMethodInvestments</link:label>
    <link:label xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Contribution to equity method investment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementClassOfStockAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CleanEnergyProductMember" xlink:label="gnrc_CleanEnergyProductMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_CleanEnergyProductMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Clean Energy Product [Member]</link:label>
    <link:label xlink:label="gnrc_CleanEnergyProductMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Relating to Clean Energy Product.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_CleanEnergyProductMember" xlink:to="gnrc_CleanEnergyProductMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Deferred income taxes liability</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsToAcquireBusinessesGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash paid at closing</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesGross" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Current portion of long-term borrowings and finance lease obligations</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Other accrued liabilities</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DomesticMember" xlink:label="gnrc_DomesticMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_DomesticMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Domestic [Member]</link:label>
    <link:label xlink:label="gnrc_DomesticMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information regarding domestic reportable segment.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_DomesticMember" xlink:to="gnrc_DomesticMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Accounts payable</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Property and equipment</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_InternationalMember" xlink:label="gnrc_InternationalMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_InternationalMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">International [Member]</link:label>
    <link:label xlink:label="gnrc_InternationalMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information regarding international reportable segment.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_InternationalMember" xlink:to="gnrc_InternationalMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Other assets</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Intangible assets</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ScheduleOfIntangibleAssetsTableTextBlock" xlink:label="gnrc_ScheduleOfIntangibleAssetsTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ScheduleOfIntangibleAssetsTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule Of Intangible Assets [Table Text Block]</link:label>
    <link:label xlink:label="gnrc_ScheduleOfIntangibleAssetsTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tabular disclosure of intangible assets, by major asset class.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ScheduleOfIntangibleAssetsTableTextBlock" xlink:to="gnrc_ScheduleOfIntangibleAssetsTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NondesignatedMember" xlink:label="us-gaap_NondesignatedMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NondesignatedMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Not Designated as Hedging Instrument [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NondesignatedMember" xlink:to="us-gaap_NondesignatedMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables" xlink:label="us-gaap_ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from beneficial interest in securitization transactions</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables" xlink:to="us-gaap_ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Accounts receivable</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_HedgingDesignationAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Hedging Designation [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AdjustedEBITDA" xlink:label="gnrc_AdjustedEBITDA" xlink:type="locator"/>
    <link:label xlink:label="gnrc_AdjustedEBITDA-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_AdjustedEBITDA</link:label>
    <link:label xlink:label="gnrc_AdjustedEBITDA-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total adjusted EBITDA</link:label>
    <link:label xlink:label="gnrc_AdjustedEBITDA-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents net income before interest expense, taxes, depreciation and amortization, as further adjusted for other non-cash items</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_AdjustedEBITDA" xlink:to="gnrc_AdjustedEBITDA-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_HedgingDesignationDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Hedging Designation [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_HedgingDesignationDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Maturities of Long-Term Debt [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_IntersegmentSalesMember" xlink:label="gnrc_IntersegmentSalesMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_IntersegmentSalesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Intersegment Sales [Member]</link:label>
    <link:label xlink:label="gnrc_IntersegmentSalesMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents intersegment sales.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_IntersegmentSalesMember" xlink:to="gnrc_IntersegmentSalesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ExternalNetSalesMember" xlink:label="gnrc_ExternalNetSalesMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ExternalNetSalesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">External Net Sales [Member]</link:label>
    <link:label xlink:label="gnrc_ExternalNetSalesMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents external net sales.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ExternalNetSalesMember" xlink:to="gnrc_ExternalNetSalesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessOptimizationExpense" xlink:label="gnrc_BusinessOptimizationExpense" xlink:type="locator"/>
    <link:label xlink:label="gnrc_BusinessOptimizationExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_BusinessOptimizationExpense</link:label>
    <link:label xlink:label="gnrc_BusinessOptimizationExpense-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Business optimization and other charges</link:label>
    <link:label xlink:label="gnrc_BusinessOptimizationExpense-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents charges relating to business optimization and restructuring costs.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_BusinessOptimizationExpense" xlink:to="gnrc_BusinessOptimizationExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_Other" xlink:label="gnrc_Other" xlink:type="locator"/>
    <link:label xlink:label="gnrc_Other-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_Other</link:label>
    <link:label xlink:label="gnrc_Other-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Other</link:label>
    <link:label xlink:label="gnrc_Other-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents other non-cash items that are not categorized separately.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_Other" xlink:to="gnrc_Other-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock issued at closing</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TransactionCostsAndCredityFaciltyFees" xlink:label="gnrc_TransactionCostsAndCredityFaciltyFees" xlink:type="locator"/>
    <link:label xlink:label="gnrc_TransactionCostsAndCredityFaciltyFees-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_TransactionCostsAndCredityFaciltyFees</link:label>
    <link:label xlink:label="gnrc_TransactionCostsAndCredityFaciltyFees-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Transaction costs and credit facility fees</link:label>
    <link:label xlink:label="gnrc_TransactionCostsAndCredityFaciltyFees-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents transaction costs incurred directly in connection with any investment, as defined in our credit agreement; equity issuance, debt issuance or refinancing; together with certain fees relating to our senior secured credit facilities.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_TransactionCostsAndCredityFaciltyFees" xlink:to="gnrc_TransactionCostsAndCredityFaciltyFees-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationConsiderationTransferred1</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Consideration Transferred, Total</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total purchase price</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoncashWritedownAndOtherAdjustments" xlink:label="gnrc_NoncashWritedownAndOtherAdjustments" xlink:type="locator"/>
    <link:label xlink:label="gnrc_NoncashWritedownAndOtherAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_NoncashWritedownAndOtherAdjustments</link:label>
    <link:label xlink:label="gnrc_NoncashWritedownAndOtherAdjustments-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Non-cash write-down and other adjustments</link:label>
    <link:label xlink:label="gnrc_NoncashWritedownAndOtherAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information about non-cash write-down and other adjustments. Includes gains/losses on disposal of assets, unrealized mark-to-market adjustments on commodity contracts, and certain foreign currency and purchase accounting related adjustments.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_NoncashWritedownAndOtherAdjustments" xlink:to="gnrc_NoncashWritedownAndOtherAdjustments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contingent consideration (2)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Option, Activity [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired</link:label>
    <link:label xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Acquisition, Percentage of Voting Interests Acquired</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:label="us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GoodwillAndIntangibleAssetImpairment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_GoodwillAndIntangibleAssetImpairment</link:label>
    <link:label xlink:label="us-gaap_GoodwillAndIntangibleAssetImpairment-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Goodwill and Intangible Asset Impairment, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:to="us-gaap_GoodwillAndIntangibleAssetImpairment-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PerformanceShareAwardPercentage" xlink:label="gnrc_PerformanceShareAwardPercentage" xlink:type="locator"/>
    <link:label xlink:label="gnrc_PerformanceShareAwardPercentage-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_PerformanceShareAwardPercentage</link:label>
    <link:label xlink:label="gnrc_PerformanceShareAwardPercentage-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Performance Share Award, Percentage</link:label>
    <link:label xlink:label="gnrc_PerformanceShareAwardPercentage-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The percentage of the target performance share award.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_PerformanceShareAwardPercentage" xlink:to="gnrc_PerformanceShareAwardPercentage-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_InterestCoverageRatio" xlink:label="gnrc_InterestCoverageRatio" xlink:type="locator"/>
    <link:label xlink:label="gnrc_InterestCoverageRatio-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_InterestCoverageRatio</link:label>
    <link:label xlink:label="gnrc_InterestCoverageRatio-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Interest Coverage Ratio</link:label>
    <link:label xlink:label="gnrc_InterestCoverageRatio-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of interest coverage ratio.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_InterestCoverageRatio" xlink:to="gnrc_InterestCoverageRatio-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CovenantMinimumInterestCoverageRatio" xlink:label="gnrc_CovenantMinimumInterestCoverageRatio" xlink:type="locator"/>
    <link:label xlink:label="gnrc_CovenantMinimumInterestCoverageRatio-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_CovenantMinimumInterestCoverageRatio</link:label>
    <link:label xlink:label="gnrc_CovenantMinimumInterestCoverageRatio-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Covenant Minimum Interest Coverage Ratio</link:label>
    <link:label xlink:label="gnrc_CovenantMinimumInterestCoverageRatio-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The minimum interest coverage ratio required under the covenant.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_CovenantMinimumInterestCoverageRatio" xlink:to="gnrc_CovenantMinimumInterestCoverageRatio-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionProFormaInformationNonrecurringAdjustmentsTableTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationNonrecurringAdjustmentsTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionProFormaInformationNonrecurringAdjustmentsTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Acquisition, Pro Forma Information, Nonrecurring Adjustments [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionProFormaInformationNonrecurringAdjustmentsTableTextBlock" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationNonrecurringAdjustmentsTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireLongtermInvestments" xlink:label="us-gaap_PaymentsToAcquireLongtermInvestments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsToAcquireLongtermInvestments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsToAcquireLongtermInvestments</link:label>
    <link:label xlink:label="us-gaap_PaymentsToAcquireLongtermInvestments-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Purchase of long-term investment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireLongtermInvestments" xlink:to="us-gaap_PaymentsToAcquireLongtermInvestments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfLongtermInvestments" xlink:label="us-gaap_ProceedsFromSaleOfLongtermInvestments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromSaleOfLongtermInvestments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from sale of investment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfLongtermInvestments" xlink:to="us-gaap_ProceedsFromSaleOfLongtermInvestments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillGross" xlink:label="us-gaap_GoodwillGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GoodwillGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill, gross</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillGross" xlink:to="us-gaap_GoodwillGross-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" xlink:label="us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GoodwillImpairedAccumulatedImpairmentLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_GoodwillImpairedAccumulatedImpairmentLoss</link:label>
    <link:label xlink:label="us-gaap_GoodwillImpairedAccumulatedImpairmentLoss-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Accumulated impairment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" xlink:to="us-gaap_GoodwillImpairedAccumulatedImpairmentLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfGoodwillTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Goodwill [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfGoodwillTextBlock" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DebtInstrumentSOFRFloor" xlink:label="gnrc_DebtInstrumentSOFRFloor" xlink:type="locator"/>
    <link:label xlink:label="gnrc_DebtInstrumentSOFRFloor-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_DebtInstrumentSOFRFloor</link:label>
    <link:label xlink:label="gnrc_DebtInstrumentSOFRFloor-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, SOFR Floor</link:label>
    <link:label xlink:label="gnrc_DebtInstrumentSOFRFloor-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">SOFR floor rate on debt instrument.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_DebtInstrumentSOFRFloor" xlink:to="gnrc_DebtInstrumentSOFRFloor-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember" xlink:label="gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tranche A Term Loan Facility and Revolving Credit Facility [Member]</link:label>
    <link:label xlink:label="gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represent the Tranche A Term Loan Facility and Revolving Credit Facility.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember" xlink:to="gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevolvingCreditFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevolvingCreditFacilityMember" xlink:to="us-gaap_RevolvingCreditFacilityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RetirementPlanTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retirement Plan Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RetirementPlanTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retirement Plan Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetirementPlanTypeDomain" xlink:to="us-gaap_RetirementPlanTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CreditFacilityAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from sale of property and equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CreditFacilityDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_CreditFacilityDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TradeNamesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trade Names [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeNamesMember" xlink:to="us-gaap_TradeNamesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:label="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares</link:label>
    <link:label xlink:label="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Dilutive effect of contingently issued shares (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:to="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Capital expenditures</link:label>
    <link:label xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Expenditures for property and equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</link:label>
    <link:label xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Dilutive effect of stock compensation awards (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxesPaidNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NoncompeteAgreementsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Noncompete Agreements [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncompeteAgreementsMember" xlink:to="us-gaap_NoncompeteAgreementsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheATermLoanFacilityMember" xlink:label="gnrc_TrancheATermLoanFacilityMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_TrancheATermLoanFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tranche A Term Loan Facility [Member]</link:label>
    <link:label xlink:label="gnrc_TrancheATermLoanFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Borrowing supported by a written promise to pay an obligation.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_TrancheATermLoanFacilityMember" xlink:to="gnrc_TrancheATermLoanFacilityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SupplementalCashFlowInformationAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Supplemental disclosure of cash flow information</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheBTermLoanFacilityMember" xlink:label="gnrc_TrancheBTermLoanFacilityMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_TrancheBTermLoanFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tranche B Term Loan Facility [Member]</link:label>
    <link:label xlink:label="gnrc_TrancheBTermLoanFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Borrowing supported by a written promise to pay an obligation.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_TrancheBTermLoanFacilityMember" xlink:to="gnrc_TrancheBTermLoanFacilityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards" xlink:label="gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards" xlink:type="locator"/>
    <link:label xlink:label="gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards</link:label>
    <link:label xlink:label="gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Net share settlement of restricted stock awards (in shares)</link:label>
    <link:label xlink:label="gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Number of shares that have been repurchased during the period and are being held in treasury in settlement of restricted stock award.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards" xlink:to="gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" xlink:label="gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" xlink:type="locator"/>
    <link:label xlink:label="gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod</link:label>
    <link:label xlink:label="gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Net share settlement of restricted stock awards</link:label>
    <link:label xlink:label="gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Equity impact of the cost of common and preferred stock that were repurchased during the period in settlement of restricted stock award. Recorded using the cost method.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" xlink:to="gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherLongtermLiabilitiesMember" xlink:label="gnrc_OtherLongtermLiabilitiesMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_OtherLongtermLiabilitiesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Long-term Liabilities [Member]</link:label>
    <link:label xlink:label="gnrc_OtherLongtermLiabilitiesMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents other long-term liabilities.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_OtherLongtermLiabilitiesMember" xlink:to="gnrc_OtherLongtermLiabilitiesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerListsMember" xlink:label="us-gaap_CustomerListsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CustomerListsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer Lists [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerListsMember" xlink:to="us-gaap_CustomerListsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoCustomerMember" xlink:label="gnrc_NoCustomerMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_NoCustomerMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">No Customer [Member]</link:label>
    <link:label xlink:label="gnrc_NoCustomerMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents no customer.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_NoCustomerMember" xlink:to="gnrc_NoCustomerMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Computer Software, Intangible Asset [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionRelatedCostsPolicyTextBlock" xlink:label="gnrc_AcquisitionRelatedCostsPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="gnrc_AcquisitionRelatedCostsPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Acquisition Related Costs [Policy Text Block]</link:label>
    <link:label xlink:label="gnrc_AcquisitionRelatedCostsPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Disclosure of accounting policy for acquisition related costs.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_AcquisitionRelatedCostsPolicyTextBlock" xlink:to="gnrc_AcquisitionRelatedCostsPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion" xlink:label="gnrc_BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion" xlink:type="locator"/>
    <link:label xlink:label="gnrc_BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Present value interest accretion</link:label>
    <link:label xlink:label="gnrc_BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The amount of increase due to present value interest accretion in contingent consideration arrangements from business combinations.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion" xlink:to="gnrc_BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Business Acquisitions by Acquisition, Contingent Consideration [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfChiliconMember" xlink:label="gnrc_AcquisitionOfChiliconMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_AcquisitionOfChiliconMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Acquisition of Chilicon [Member]</link:label>
    <link:label xlink:label="gnrc_AcquisitionOfChiliconMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents acquisition of chilicon.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_AcquisitionOfChiliconMember" xlink:to="gnrc_AcquisitionOfChiliconMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance" xlink:label="gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance" xlink:type="locator"/>
    <link:label xlink:label="gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance</link:label>
    <link:label xlink:label="gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Deferred Income Tax Expense (Benefit) Before Adjustment of Valuation Allowance</link:label>
    <link:label xlink:label="gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The component of income tax expense for the period representing the increase (decrease) in the entity's deferred tax assets and liabilities pertaining to continuing operations before adjustment of change in valuation allowance.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance" xlink:to="gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TaxCreditCarryforwardStateManufacturing" xlink:label="gnrc_TaxCreditCarryforwardStateManufacturing" xlink:type="locator"/>
    <link:label xlink:label="gnrc_TaxCreditCarryforwardStateManufacturing-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_TaxCreditCarryforwardStateManufacturing</link:label>
    <link:label xlink:label="gnrc_TaxCreditCarryforwardStateManufacturing-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax Credit Carryforward State Manufacturing</link:label>
    <link:label xlink:label="gnrc_TaxCreditCarryforwardStateManufacturing-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The amount of the state manufacturing tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_TaxCreditCarryforwardStateManufacturing" xlink:to="gnrc_TaxCreditCarryforwardStateManufacturing-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AllAcquisitionsMember" xlink:label="gnrc_AllAcquisitionsMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_AllAcquisitionsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">All Acquisitions [Member]</link:label>
    <link:label xlink:label="gnrc_AllAcquisitionsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents all acquisitions.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_AllAcquisitionsMember" xlink:to="gnrc_AllAcquisitionsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">As reported</link:label>
    <link:label xlink:label="us-gaap_NetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net income attributable to Generac Holdings Inc.</link:label>
    <link:label xlink:label="us-gaap_NetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net income attributable to Generac Holdings Inc.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DefinedContributionPlanPercentageOfEligibleCompensation" xlink:label="gnrc_DefinedContributionPlanPercentageOfEligibleCompensation" xlink:type="locator"/>
    <link:label xlink:label="gnrc_DefinedContributionPlanPercentageOfEligibleCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_DefinedContributionPlanPercentageOfEligibleCompensation</link:label>
    <link:label xlink:label="gnrc_DefinedContributionPlanPercentageOfEligibleCompensation-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Defined Contribution Plan Percentage of Eligible Compensation</link:label>
    <link:label xlink:label="gnrc_DefinedContributionPlanPercentageOfEligibleCompensation-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Percentage of eligible compensation of employees under defined contribution plan.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_DefinedContributionPlanPercentageOfEligibleCompensation" xlink:to="gnrc_DefinedContributionPlanPercentageOfEligibleCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EmployerContributionUnderMedicalAndDentalPlan" xlink:label="gnrc_EmployerContributionUnderMedicalAndDentalPlan" xlink:type="locator"/>
    <link:label xlink:label="gnrc_EmployerContributionUnderMedicalAndDentalPlan-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_EmployerContributionUnderMedicalAndDentalPlan</link:label>
    <link:label xlink:label="gnrc_EmployerContributionUnderMedicalAndDentalPlan-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Employer Contribution under Medical and Dental Plan</link:label>
    <link:label xlink:label="gnrc_EmployerContributionUnderMedicalAndDentalPlan-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Contribution made under medical and dental plan made by the employer.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_EmployerContributionUnderMedicalAndDentalPlan" xlink:to="gnrc_EmployerContributionUnderMedicalAndDentalPlan-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RestrictedStockMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restricted Stock [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockMember" xlink:to="us-gaap_RestrictedStockMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent" xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent" xlink:type="locator"/>
    <link:label xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign tax deduction</link:label>
    <link:label xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign income tax deduction.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent" xlink:to="gnrc_EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent" xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent" xlink:type="locator"/>
    <link:label xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign deferred tax rate change</link:label>
    <link:label xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to foreign deferred tax rate change.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent" xlink:to="gnrc_EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PerformanceSharesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Performance Shares [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PerformanceSharesMember" xlink:to="us-gaap_PerformanceSharesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember" xlink:label="gnrc_OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Accrued Liabilities and Finance Lease and Other Long-term Liabilities [Member]</link:label>
    <link:label xlink:label="gnrc_OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents Other Accrued Liabilities and Finance Lease and Other Long-term Liabilities.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember" xlink:to="gnrc_OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeStockOptionMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Option [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign currency translation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:to="us-gaap_GoodwillForeignCurrencyTranslationGainLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Antidilutive Securities [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Antidilutive Securities, Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GoodwillAcquiredDuringPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_GoodwillAcquiredDuringPeriod</link:label>
    <link:label xlink:label="us-gaap_GoodwillAcquiredDuringPeriod-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Acquisitions of businesses, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAcquiredDuringPeriod" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FinanceLeaseAndOtherLongtermLiabilitiesMember" xlink:label="gnrc_FinanceLeaseAndOtherLongtermLiabilitiesMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_FinanceLeaseAndOtherLongtermLiabilitiesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finance Lease and Other Long-term Liabilities [Member]</link:label>
    <link:label xlink:label="gnrc_FinanceLeaseAndOtherLongtermLiabilitiesMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents Finance Lease and Other Long-term Liabilities.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_FinanceLeaseAndOtherLongtermLiabilitiesMember" xlink:to="gnrc_FinanceLeaseAndOtherLongtermLiabilitiesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FinanceLeaseAndOtherAssetsMember" xlink:label="gnrc_FinanceLeaseAndOtherAssetsMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_FinanceLeaseAndOtherAssetsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finance Lease and Other Assets [Member]</link:label>
    <link:label xlink:label="gnrc_FinanceLeaseAndOtherAssetsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents Finance Lease and Other Assets.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_FinanceLeaseAndOtherAssetsMember" xlink:to="gnrc_FinanceLeaseAndOtherAssetsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_LesseeOperatingLeasesAndFinanceLeasesTextBlock" xlink:label="gnrc_LesseeOperatingLeasesAndFinanceLeasesTextBlock" xlink:type="locator"/>
    <link:label xlink:label="gnrc_LesseeOperatingLeasesAndFinanceLeasesTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Operating Leases and Finance Leases [Text Block]</link:label>
    <link:label xlink:label="gnrc_LesseeOperatingLeasesAndFinanceLeasesTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The entire disclosure for operating leases and finance leases of lessee.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_LesseeOperatingLeasesAndFinanceLeasesTextBlock" xlink:to="gnrc_LesseeOperatingLeasesAndFinanceLeasesTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent" xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent" xlink:type="locator"/>
    <link:label xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">State credits</link:label>
    <link:label xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state tax credit.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent" xlink:to="gnrc_EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongtermDebtTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-Term Debt, Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongtermDebtTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-Term Debt, Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_LongtermDebtTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare" xlink:label="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare" xlink:type="locator"/>
    <link:label xlink:label="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Expected annual dividend per share (in dollars per share)</link:label>
    <link:label xlink:label="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The estimated amount of dividends per share to be paid to holders of the underlying shares (expected dividends) over the option's term.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare" xlink:to="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investing activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ValuationAndQualifyingAccountsTableTextBlock" xlink:label="gnrc_ValuationAndQualifyingAccountsTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ValuationAndQualifyingAccountsTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Valuation and Qualifying Accounts [Table Text Block]</link:label>
    <link:label xlink:label="gnrc_ValuationAndQualifyingAccountsTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">A tabular disclosure of allowance and reserve accounts including their beginning and ending balances, as well as a reconciliation by type of activity during the period. Alternatively, disclosure of the required information may be within the footnotes to the financial statements or a supplemental schedule to the financial statements.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ValuationAndQualifyingAccountsTableTextBlock" xlink:to="gnrc_ValuationAndQualifyingAccountsTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EECAndBluePillarMember" xlink:label="gnrc_EECAndBluePillarMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_EECAndBluePillarMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">EEC and Blue Pillar [Member]</link:label>
    <link:label xlink:label="gnrc_EECAndBluePillarMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to EEC and Blue Pillar</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_EECAndBluePillarMember" xlink:to="gnrc_EECAndBluePillarMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntersegmentEliminationMember" xlink:label="us-gaap_IntersegmentEliminationMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IntersegmentEliminationMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Intersegment Eliminations [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntersegmentEliminationMember" xlink:to="us-gaap_IntersegmentEliminationMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FiniteLivedCustomerListsNet" xlink:label="gnrc_FiniteLivedCustomerListsNet" xlink:type="locator"/>
    <link:label xlink:label="gnrc_FiniteLivedCustomerListsNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer lists, net</link:label>
    <link:label xlink:label="gnrc_FiniteLivedCustomerListsNet-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Carrying amount, net of accumulated amortization, as of the balance sheet date of an asset having a finite beneficial life acquired in a business combination or other transaction representing a favorable existing relationship with customers.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_FiniteLivedCustomerListsNet" xlink:to="gnrc_FiniteLivedCustomerListsNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued wages and employee benefits</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInOtherAccruedLiabilities</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other accrued liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TradeNamesNet" xlink:label="gnrc_TradeNamesNet" xlink:type="locator"/>
    <link:label xlink:label="gnrc_TradeNamesNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tradenames, net</link:label>
    <link:label xlink:label="gnrc_TradeNamesNet-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The net carrying amount as of the balance sheet date of indefinite-lived and finite-lived tradenames on the statement of financial position representing the rights acquired through registration of a trade name to gain or protect exclusive use thereof.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_TradeNamesNet" xlink:to="gnrc_TradeNamesNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unrealized gain (loss) on interest rate swaps, tax</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryValuationReserveMember" xlink:label="us-gaap_InventoryValuationReserveMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryValuationReserveMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">SEC Schedule, 12-09, Reserve, Inventory [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryValuationReserveMember" xlink:to="us-gaap_InventoryValuationReserveMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInAccountsPayable</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts payable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation" xlink:label="gnrc_DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation" xlink:type="locator"/>
    <link:label xlink:label="gnrc_DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Depreciation and Amortization</link:label>
    <link:label xlink:label="gnrc_DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets. Amount includes additional accelerated depreciation recognized in the current period.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation" xlink:to="gnrc_DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired" xlink:label="gnrc_SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired" xlink:type="locator"/>
    <link:label xlink:label="gnrc_SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Reserves Assumed in Acquisition</link:label>
    <link:label xlink:label="gnrc_SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of increase (decrease) in valuation and qualifying accounts and reserves from business combination.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired" xlink:to="gnrc_SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ExcessPurchasePriceOverPredecessorBasis" xlink:label="gnrc_ExcessPurchasePriceOverPredecessorBasis" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ExcessPurchasePriceOverPredecessorBasis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_ExcessPurchasePriceOverPredecessorBasis</link:label>
    <link:label xlink:label="gnrc_ExcessPurchasePriceOverPredecessorBasis-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Excess purchase price over predecessor basis</link:label>
    <link:label xlink:label="gnrc_ExcessPurchasePriceOverPredecessorBasis-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The element that represents the excess purchase price over predecessor basis.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ExcessPurchasePriceOverPredecessorBasis" xlink:to="gnrc_ExcessPurchasePriceOverPredecessorBasis-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherAccruedLiabilitiesMember" xlink:label="gnrc_OtherAccruedLiabilitiesMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_OtherAccruedLiabilitiesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Accrued Liabilities [Member]</link:label>
    <link:label xlink:label="gnrc_OtherAccruedLiabilitiesMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to other accrued liabilities.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_OtherAccruedLiabilitiesMember" xlink:to="gnrc_OtherAccruedLiabilitiesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OperatingLeaseAndOtherAssetsMember" xlink:label="gnrc_OperatingLeaseAndOtherAssetsMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_OperatingLeaseAndOtherAssetsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Lease and Other Assets [Member]</link:label>
    <link:label xlink:label="gnrc_OperatingLeaseAndOtherAssetsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to operating lease and other assets.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_OperatingLeaseAndOtherAssetsMember" xlink:to="gnrc_OperatingLeaseAndOtherAssetsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:label="gnrc_OperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_OperatingLeaseAndOtherLongtermLiabilitiesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Lease and Other Long-term Liabilities [Member]</link:label>
    <link:label xlink:label="gnrc_OperatingLeaseAndOtherLongtermLiabilitiesMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to operating lease and other long-term liabilities.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_OperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:to="gnrc_OperatingLeaseAndOtherLongtermLiabilitiesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfDeepSeaMember" xlink:label="gnrc_AcquisitionOfDeepSeaMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_AcquisitionOfDeepSeaMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Acquisition of Deep Sea [Member]</link:label>
    <link:label xlink:label="gnrc_AcquisitionOfDeepSeaMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information regarding the acquisition of Deep Sea. Headquartered in Hunmanby, United Kingdom, Deep Sea is a designer and manufacturer of a diverse suite of controller products that provide flexible solutions for multiple applications including generators, automatic transfer switches, battery charging, and off-highway vehicles.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_AcquisitionOfDeepSeaMember" xlink:to="gnrc_AcquisitionOfDeepSeaMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_The2021AcquisitionsMember" xlink:label="gnrc_The2021AcquisitionsMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_The2021AcquisitionsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">The 2021 Acquisitions [Member]</link:label>
    <link:label xlink:label="gnrc_The2021AcquisitionsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information regarding one or more acquisitions occurring in the year 2021.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_The2021AcquisitionsMember" xlink:to="gnrc_The2021AcquisitionsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill" xlink:label="gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill" xlink:type="locator"/>
    <link:label xlink:label="gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill</link:label>
    <link:label xlink:label="gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Acquisition, Purchase Price Allocation, Intangible Assets Including Goodwill</link:label>
    <link:label xlink:label="gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The amount of acquisition cost of a business combination allocated to an identifiable intangible asset including goodwill.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill" xlink:to="gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossMember" xlink:label="us-gaap_AllowanceForCreditLossMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AllowanceForCreditLossMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">SEC Schedule, 12-09, Allowance, Credit Loss [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForCreditLossMember" xlink:to="us-gaap_AllowanceForCreditLossMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AllocatedShareBasedCompensationExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AllocatedShareBasedCompensationExpense</link:label>
    <link:label xlink:label="us-gaap_AllocatedShareBasedCompensationExpense-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NumberOfNewContractsEntered" xlink:label="gnrc_NumberOfNewContractsEntered" xlink:type="locator"/>
    <link:label xlink:label="gnrc_NumberOfNewContractsEntered-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_NumberOfNewContractsEntered</link:label>
    <link:label xlink:label="gnrc_NumberOfNewContractsEntered-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of New Contracts Entered</link:label>
    <link:label xlink:label="gnrc_NumberOfNewContractsEntered-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Number of new contracts entered into during the period mentioned.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_NumberOfNewContractsEntered" xlink:to="gnrc_NumberOfNewContractsEntered-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_LineOfCreditFacilityIncrementalCapacity" xlink:label="gnrc_LineOfCreditFacilityIncrementalCapacity" xlink:type="locator"/>
    <link:label xlink:label="gnrc_LineOfCreditFacilityIncrementalCapacity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_LineOfCreditFacilityIncrementalCapacity</link:label>
    <link:label xlink:label="gnrc_LineOfCreditFacilityIncrementalCapacity-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Line of Credit Facility, Incremental Capacity</link:label>
    <link:label xlink:label="gnrc_LineOfCreditFacilityIncrementalCapacity-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the incremental capacity under a line of credit facility.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_LineOfCreditFacilityIncrementalCapacity" xlink:to="gnrc_LineOfCreditFacilityIncrementalCapacity-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk" xlink:label="gnrc_DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk" xlink:type="locator"/>
    <link:label xlink:label="gnrc_DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk</link:label>
    <link:label xlink:label="gnrc_DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Assets (Liabilities), Net Fair Value of Derivative Contracts, Excluding Impact of Credit Risk</link:label>
    <link:label xlink:label="gnrc_DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the fair value of derivative contracts excluding impact of credit risk.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk" xlink:to="gnrc_DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:label="gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Accrued Liabilities and Operating Lease and Other Long-term Liabilities [Member]</link:label>
    <link:label xlink:label="gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Primary financial statement caption encompassing other accrued liabilities and operating lease and other long-term liabilities.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:to="gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock" xlink:label="gnrc_ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule Of Derivative Assets (Liabilities) at Fair Value [Table Text Block]</link:label>
    <link:label xlink:label="gnrc_ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tabular disclosure of derivative assets and liabilities at fair value.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock" xlink:to="gnrc_ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ComprehensiveIncomeNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ComprehensiveIncomeNetOfTax</link:label>
    <link:label xlink:label="us-gaap_ComprehensiveIncomeNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Comprehensive income attributable to Generac Holdings Inc.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesTreasuryStockReissued" xlink:label="us-gaap_StockIssuedDuringPeriodSharesTreasuryStockReissued" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodSharesTreasuryStockReissued-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Treasury stock issued for business combination (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesTreasuryStockReissued" xlink:to="us-gaap_StockIssuedDuringPeriodSharesTreasuryStockReissued-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="us-gaap_TreasuryStockSharesAcquired" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TreasuryStockSharesAcquired-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_TreasuryStockSharesAcquired</link:label>
    <link:label xlink:label="us-gaap_TreasuryStockSharesAcquired-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Treasury Stock, Shares, Acquired (in shares)</link:label>
    <link:label xlink:label="us-gaap_TreasuryStockSharesAcquired-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Stock repurchases (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockSharesAcquired" xlink:to="us-gaap_TreasuryStockSharesAcquired-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharesOutstanding</link:label>
    <link:label xlink:label="us-gaap_SharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance (in shares)</link:label>
    <link:label xlink:label="us-gaap_SharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings" xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings" xlink:type="locator"/>
    <link:label xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Short-term borrowings</link:label>
    <link:label xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings</link:label>
    <link:label xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of short-term borrowing expected to be recognized as such within one year or the normal operating cycle, if longer, assumed at the acquisition date.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings" xlink:to="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInOtherOperatingAssets</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Other assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Basis Spread on Variable Rate</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_Other2020AcquisitionsMember" xlink:label="gnrc_Other2020AcquisitionsMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_Other2020AcquisitionsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other 2020 Acquisitions [Member]</link:label>
    <link:label xlink:label="gnrc_Other2020AcquisitionsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents other 2020 acquisitions.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_Other2020AcquisitionsMember" xlink:to="gnrc_Other2020AcquisitionsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseCost-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LeaseCost</link:label>
    <link:label xlink:label="us-gaap_LeaseCost-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total lease cost</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_LeaseCost-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfOffGridEnergyMember" xlink:label="gnrc_AcquisitionOfOffGridEnergyMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_AcquisitionOfOffGridEnergyMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Acquisition of Off Grid Energy [Member]</link:label>
    <link:label xlink:label="gnrc_AcquisitionOfOffGridEnergyMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents acquisition of Off Grid Energy.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_AcquisitionOfOffGridEnergyMember" xlink:to="gnrc_AcquisitionOfOffGridEnergyMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_Other2021AcquisitionsMember" xlink:label="gnrc_Other2021AcquisitionsMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_Other2021AcquisitionsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other 2021 Acquisitions [Member]</link:label>
    <link:label xlink:label="gnrc_Other2021AcquisitionsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents other acquisitions in 2021.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_Other2021AcquisitionsMember" xlink:to="gnrc_Other2021AcquisitionsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentInterestRateEffectivePercentage</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Interest Rate, Effective Percentage</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFairValue" xlink:label="us-gaap_DebtInstrumentFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentFairValue</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentFairValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Fair Value Disclosure, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFairValue" xlink:to="us-gaap_DebtInstrumentFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseCost-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating lease cost</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseCost" xlink:to="us-gaap_OperatingLeaseCost-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseCostTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease, Cost [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCostTableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finance leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AllOther2021AcquisitionsMember" xlink:label="gnrc_AllOther2021AcquisitionsMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_AllOther2021AcquisitionsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">All Other 2021 Acquisitions [Member]</link:label>
    <link:label xlink:label="gnrc_AllOther2021AcquisitionsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents all other acquisitions in 2021 except for Deep Sea.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_AllOther2021AcquisitionsMember" xlink:to="gnrc_AllOther2021AcquisitionsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFeeAmount" xlink:label="us-gaap_DebtInstrumentFeeAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentFeeAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentFeeAmount</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentFeeAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Fee Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFeeAmount" xlink:to="us-gaap_DebtInstrumentFeeAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Instrument [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Instrument, Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="us-gaap_DebtInstrumentNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">London Interbank Offered Rate (LIBOR) [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:to="us-gaap_LondonInterbankOfferedRateLIBORMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_VariableRateDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Variable Rate [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_VariableRateDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Long-Term Debt Instruments [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:to="us-gaap_ScheduleOfDebtInstrumentsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_VariableRateAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Variable Rate [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalizedContractCostAmortization" xlink:label="us-gaap_CapitalizedContractCostAmortization" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CapitalizedContractCostAmortization-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CapitalizedContractCostAmortization</link:label>
    <link:label xlink:label="us-gaap_CapitalizedContractCostAmortization-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Capitalized Contract Cost, Amortization</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalizedContractCostAmortization" xlink:to="us-gaap_CapitalizedContractCostAmortization-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ResidentialPowerProductsMember" xlink:label="gnrc_ResidentialPowerProductsMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ResidentialPowerProductsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Residential Power Products [Member]</link:label>
    <link:label xlink:label="gnrc_ResidentialPowerProductsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents products and services related to residential power.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ResidentialPowerProductsMember" xlink:to="gnrc_ResidentialPowerProductsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PaymentsToAcquireBusinessesDeferredCashPayment" xlink:label="gnrc_PaymentsToAcquireBusinessesDeferredCashPayment" xlink:type="locator"/>
    <link:label xlink:label="gnrc_PaymentsToAcquireBusinessesDeferredCashPayment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred cash payment (1)</link:label>
    <link:label xlink:label="gnrc_PaymentsToAcquireBusinessesDeferredCashPayment-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The deferred cash outflow associated with the acquisition of business during the period.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_PaymentsToAcquireBusinessesDeferredCashPayment" xlink:to="gnrc_PaymentsToAcquireBusinessesDeferredCashPayment-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInAccountsReceivable</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Accounts receivable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based compensation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_QuarterlyFinancialInformationTextBlock" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Quarterly Financial Information [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ContingentConsiderationLiabilityMember" xlink:label="gnrc_ContingentConsiderationLiabilityMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ContingentConsiderationLiabilityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contingent Consideration Liability [Member]</link:label>
    <link:label xlink:label="gnrc_ContingentConsiderationLiabilityMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents contingent consideration liabilities.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ContingentConsiderationLiabilityMember" xlink:to="gnrc_ContingentConsiderationLiabilityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CommercialAndIndustrialPowerProductsMember" xlink:label="gnrc_CommercialAndIndustrialPowerProductsMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_CommercialAndIndustrialPowerProductsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Commercial and Industrial Power Products [Member]</link:label>
    <link:label xlink:label="gnrc_CommercialAndIndustrialPowerProductsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents products and services related to commercial and industrial power.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_CommercialAndIndustrialPowerProductsMember" xlink:to="gnrc_CommercialAndIndustrialPowerProductsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByLiabilityClassAxis" xlink:label="us-gaap_FairValueByLiabilityClassAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueByLiabilityClassAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liability Class [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="us-gaap_FairValueByLiabilityClassAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value by Liability Class [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherProductsAndServicesMember" xlink:label="gnrc_OtherProductsAndServicesMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_OtherProductsAndServicesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Products and Services [Member]</link:label>
    <link:label xlink:label="gnrc_OtherProductsAndServicesMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information pertaining to products and services not separately disclosed.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_OtherProductsAndServicesMember" xlink:to="gnrc_OtherProductsAndServicesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_TreasuryStockValueAcquiredCostMethod</link:label>
    <link:label xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Treasury Stock, Value, Acquired, Cost Method</link:label>
    <link:label xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Stock repurchases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DiesAndToolsMember" xlink:label="gnrc_DiesAndToolsMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_DiesAndToolsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Dies and Tools [Member]</link:label>
    <link:label xlink:label="gnrc_DiesAndToolsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tangible personal property used to produce goods and services.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_DiesAndToolsMember" xlink:to="gnrc_DiesAndToolsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TreasuryStockValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_TreasuryStockValue</link:label>
    <link:label xlink:label="us-gaap_TreasuryStockValue-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Treasury stock, at cost, 11,284,350 and 8,667,031 shares at December 31, 2022 and 2021, respectively</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AmortizationOfDeferredRevenueOnExtendedWarrantyContracts" xlink:label="gnrc_AmortizationOfDeferredRevenueOnExtendedWarrantyContracts" xlink:type="locator"/>
    <link:label xlink:label="gnrc_AmortizationOfDeferredRevenueOnExtendedWarrantyContracts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amortization of deferred revenue contracts</link:label>
    <link:label xlink:label="gnrc_AmortizationOfDeferredRevenueOnExtendedWarrantyContracts-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the aggregate decrease in the liability for accruals related to extended product warranties issued during the reporting period, due to amortization of deferred revenue.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_AmortizationOfDeferredRevenueOnExtendedWarrantyContracts" xlink:to="gnrc_AmortizationOfDeferredRevenueOnExtendedWarrantyContracts-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueTreasuryStockReissued" xlink:label="us-gaap_StockIssuedDuringPeriodValueTreasuryStockReissued" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodValueTreasuryStockReissued-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Treasury stock issued for business combination</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueTreasuryStockReissued" xlink:to="us-gaap_StockIssuedDuringPeriodValueTreasuryStockReissued-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock" xlink:label="gnrc_ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product Warranty Obligations Included In Consolidated Balance Sheet [Table Text Block]</link:label>
    <link:label xlink:label="gnrc_ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Product warranty obligations included in consolidated balance sheet.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock" xlink:to="gnrc_ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInInventories-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInInventories</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInInventories-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock issued for business combination (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock issued for business combination</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_UncommittedIncrementalTermLoanFacility" xlink:label="gnrc_UncommittedIncrementalTermLoanFacility" xlink:type="locator"/>
    <link:label xlink:label="gnrc_UncommittedIncrementalTermLoanFacility-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_UncommittedIncrementalTermLoanFacility</link:label>
    <link:label xlink:label="gnrc_UncommittedIncrementalTermLoanFacility-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Uncommitted Incremental Term Loan Facility</link:label>
    <link:label xlink:label="gnrc_UncommittedIncrementalTermLoanFacility-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Refers to uncommitted incremental term loan facility after amendment.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_UncommittedIncrementalTermLoanFacility" xlink:to="gnrc_UncommittedIncrementalTermLoanFacility-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity</link:label>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Line of Credit Facility, Remaining Borrowing Capacity</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</link:label>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Exercised, number of options (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TermLoanMember" xlink:label="gnrc_TermLoanMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_TermLoanMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Term Loan [Member]</link:label>
    <link:label xlink:label="gnrc_TermLoanMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Credit facility arrangement having an initial term longer than one year or beyond the normal operating cycle, if longer.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_TermLoanMember" xlink:to="gnrc_TermLoanMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_LIBORFloorRateMember" xlink:label="gnrc_LIBORFloorRateMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_LIBORFloorRateMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">LIBOR Floor Rate [Member]</link:label>
    <link:label xlink:label="gnrc_LIBORFloorRateMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Floor interest rate at which a bank borrows funds from other banks in the London interbank market.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_LIBORFloorRateMember" xlink:to="gnrc_LIBORFloorRateMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AdjustedLIBORRateMember" xlink:label="gnrc_AdjustedLIBORRateMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_AdjustedLIBORRateMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjusted LIBOR Rate [Member]</link:label>
    <link:label xlink:label="gnrc_AdjustedLIBORRateMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Adjusted interest rate at which a bank borrows funds from other banks in the London interbank market, plus an applicable margin.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_AdjustedLIBORRateMember" xlink:to="gnrc_AdjustedLIBORRateMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</link:label>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ABLRevolvingCreditFacilityMember" xlink:label="gnrc_ABLRevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ABLRevolvingCreditFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ABL Revolving Credit Facility [Member]</link:label>
    <link:label xlink:label="gnrc_ABLRevolvingCreditFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ABLRevolvingCreditFacilityMember" xlink:to="gnrc_ABLRevolvingCreditFacilityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Granted, number of options (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Forfeited, number of options (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturityDate" xlink:label="us-gaap_LongTermDebtMaturityDate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtMaturityDate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LongTermDebtMaturityDate</link:label>
    <link:label xlink:label="us-gaap_LongTermDebtMaturityDate-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Long-Term Debt, Maturity Date</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturityDate" xlink:to="us-gaap_LongTermDebtMaturityDate-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AmountFinancedByDealers" xlink:label="gnrc_AmountFinancedByDealers" xlink:type="locator"/>
    <link:label xlink:label="gnrc_AmountFinancedByDealers-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_AmountFinancedByDealers</link:label>
    <link:label xlink:label="gnrc_AmountFinancedByDealers-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Amount Financed by Dealers</link:label>
    <link:label xlink:label="gnrc_AmountFinancedByDealers-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount financed by dealers to purchase goods from the entity.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_AmountFinancedByDealers" xlink:to="gnrc_AmountFinancedByDealers-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:label="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:to="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock" xlink:label="gnrc_FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="gnrc_FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair value of Contingent Consideration in a Business Combination [Policy Text Block]</link:label>
    <link:label xlink:label="gnrc_FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Disclosure for the accounting policy for the fair value of contingent consideration in a business combination.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock" xlink:to="gnrc_FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilitiesAndStockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LiabilitiesAndStockholdersEquity</link:label>
    <link:label xlink:label="us-gaap_LiabilitiesAndStockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total liabilities and stockholders&#8217; equity</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ProformaAmortizationOfIntangibleAssets" xlink:label="gnrc_ProformaAmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ProformaAmortizationOfIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_ProformaAmortizationOfIntangibleAssets</link:label>
    <link:label xlink:label="gnrc_ProformaAmortizationOfIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Proforma Amortization of Intangible Assets</link:label>
    <link:label xlink:label="gnrc_ProformaAmortizationOfIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The amount of proforma amortization of intangible assets.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ProformaAmortizationOfIntangibleAssets" xlink:to="gnrc_ProformaAmortizationOfIntangibleAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember" xlink:label="gnrc_CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current Portion of Long-term Borrowings and Finance Lease Obligations [Member]</link:label>
    <link:label xlink:label="gnrc_CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to current portion of long-term borrowings and finance lease obligations.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember" xlink:to="gnrc_CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:label xlink:label="country_US-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">UNITED STATES</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_VauationAllowancesAndReservesAdjustments" xlink:label="gnrc_VauationAllowancesAndReservesAdjustments" xlink:type="locator"/>
    <link:label xlink:label="gnrc_VauationAllowancesAndReservesAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_VauationAllowancesAndReservesAdjustments</link:label>
    <link:label xlink:label="gnrc_VauationAllowancesAndReservesAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Vauation Allowances and Reserves Adjustments</link:label>
    <link:label xlink:label="gnrc_VauationAllowancesAndReservesAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The amount of valuation allowances and reserves adjustments to income tax deferred tax amounts.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_VauationAllowancesAndReservesAdjustments" xlink:to="gnrc_VauationAllowancesAndReservesAdjustments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retained earnings</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated other comprehensive loss</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net changes in operating assets and liabilities, net of acquisitions:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredCompensationArrangementWithIndividualSharesGranted" xlink:label="gnrc_DeferredCompensationArrangementWithIndividualSharesGranted" xlink:type="locator"/>
    <link:label xlink:label="gnrc_DeferredCompensationArrangementWithIndividualSharesGranted-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_DeferredCompensationArrangementWithIndividualSharesGranted</link:label>
    <link:label xlink:label="gnrc_DeferredCompensationArrangementWithIndividualSharesGranted-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Compensation Arrangement with Individual, Shares Granted (in shares)</link:label>
    <link:label xlink:label="gnrc_DeferredCompensationArrangementWithIndividualSharesGranted-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The number of shares granted in a deferred compensation arrangement with an individual.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_DeferredCompensationArrangementWithIndividualSharesGranted" xlink:to="gnrc_DeferredCompensationArrangementWithIndividualSharesGranted-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating lease liabilities - noncurrent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Total operating lease liabilities</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Present value of minimum lease payments, operating leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating lease liabilities - current</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finance lease liabilities - current</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityCurrent" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finance lease liabilities - noncurrent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseRightOfUseAsset-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating lease ROU assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total minimum lease payments, operating leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Interest component</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Total finance lease liabilities</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Present value of minimum lease payments, finance leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeasePrincipalPayments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Financing cash flows from finance leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeasePrincipalPayments" xlink:to="us-gaap_FinanceLeasePrincipalPayments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredIncomeTaxExpenseBenefit</link:label>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred income taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2025, operating leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2026, operating leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseRightOfUseAsset-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseRightOfUseAsset</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseRightOfUseAsset-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finance Lease, Right-of-Use Asset, after Accumulated Amortization, Total</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseRightOfUseAsset-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Finance lease ROU assets, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAsset" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2027, operating leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">After 2023, operating leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2023, operating leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2024, operating leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EquityIncentivePlanPlanMember" xlink:label="gnrc_EquityIncentivePlanPlanMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_EquityIncentivePlanPlanMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Incentive Plan (Plan) [Member]</link:label>
    <link:label xlink:label="gnrc_EquityIncentivePlanPlanMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the equity incentive plan (Plan).</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_EquityIncentivePlanPlanMember" xlink:to="gnrc_EquityIncentivePlanPlanMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensation</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based compensation expense</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Non-cash share-based compensation expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:label="us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AmortizationOfFinancingCostsAndDiscounts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amortization of original issue discount and deferred financing costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:to="us-gaap_AmortizationOfFinancingCostsAndDiscounts-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_Depreciation-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Depreciation</link:label>
    <link:label xlink:label="us-gaap_Depreciation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_Depreciation</link:label>
    <link:label xlink:label="us-gaap_Depreciation-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Depreciation, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DepreciationDepletionAndAmortization-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DepreciationDepletionAndAmortization</link:label>
    <link:label xlink:label="us-gaap_DepreciationDepletionAndAmortization-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessAcquisitionNoncontrollingInterestTermOfPutOption" xlink:label="gnrc_BusinessAcquisitionNoncontrollingInterestTermOfPutOption" xlink:type="locator"/>
    <link:label xlink:label="gnrc_BusinessAcquisitionNoncontrollingInterestTermOfPutOption-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_BusinessAcquisitionNoncontrollingInterestTermOfPutOption</link:label>
    <link:label xlink:label="gnrc_BusinessAcquisitionNoncontrollingInterestTermOfPutOption-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Acquisition, Noncontrolling Interest, Term of Put Option (Year)</link:label>
    <link:label xlink:label="gnrc_BusinessAcquisitionNoncontrollingInterestTermOfPutOption-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The term of a put option available to the noncontrolling interest of a business acquired by the reporting entity.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_BusinessAcquisitionNoncontrollingInterestTermOfPutOption" xlink:to="gnrc_BusinessAcquisitionNoncontrollingInterestTermOfPutOption-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockShares" xlink:label="us-gaap_TreasuryStockShares" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TreasuryStockShares-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Treasury stock, shares (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockShares" xlink:to="us-gaap_TreasuryStockShares-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock, par value $0.01, 500,000,000 shares authorized, 72,701,257 and 72,386,017 shares issued at December 31, 2022 and 2021, respectively</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustments to reconcile net income to net cash provided by operating activities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:type="locator"/>
    <link:label xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill</link:label>
    <link:label xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total assets acquired</link:label>
    <link:label xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the total assets acquired from a business combination which includes identifiable assets acquired and liabilities assumed assets, including goodwill.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:to="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockSharesAuthorized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock, shares authorized (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockSharesIssued-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock, shares issued (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_RedeemableNoncontrollingInterestTextBlock" xlink:label="gnrc_RedeemableNoncontrollingInterestTextBlock" xlink:type="locator"/>
    <link:label xlink:label="gnrc_RedeemableNoncontrollingInterestTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Redeemable Noncontrolling Interest [Text Block]</link:label>
    <link:label xlink:label="gnrc_RedeemableNoncontrollingInterestTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Entire disclosure for redeemable noncontrolling interest.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_RedeemableNoncontrollingInterestTextBlock" xlink:to="gnrc_RedeemableNoncontrollingInterestTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions" xlink:label="gnrc_AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions" xlink:type="locator"/>
    <link:label xlink:label="gnrc_AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Established for acquisitions</link:label>
    <link:label xlink:label="gnrc_AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents increase in allowance for doubtful accounts receivable from Establishment for Acquisitions</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions" xlink:to="gnrc_AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockParOrStatedValuePerShare-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock, par value (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ExtendedWarrantyTerm" xlink:label="gnrc_ExtendedWarrantyTerm" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ExtendedWarrantyTerm-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_ExtendedWarrantyTerm</link:label>
    <link:label xlink:label="gnrc_ExtendedWarrantyTerm-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Extended Warranty Term (Year)</link:label>
    <link:label xlink:label="gnrc_ExtendedWarrantyTerm-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Expiration period of the extended warranty.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ExtendedWarrantyTerm" xlink:to="gnrc_ExtendedWarrantyTerm-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:label xlink:label="srt_RangeMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeasePayments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating cash flows from operating leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:label xlink:label="srt_MaximumMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Maximum [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:label xlink:label="srt_MinimumMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Minimum [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_OwnershipDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Ownership [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipDomain" xlink:to="srt_OwnershipDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_ProductOrServiceAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_ProductsAndServicesDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductsAndServicesDomain" xlink:to="srt_ProductsAndServicesDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_RangeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating cash flows from finance leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:to="us-gaap_FinanceLeaseInterestPaymentOnLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_LitigationCaseAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Litigation Case [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_LitigationCaseTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Litigation Case [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="srt_LitigationCaseTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_OwnershipAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Ownership [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InterestPaidNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Interest</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_SavingsPlan401kMember" xlink:label="gnrc_SavingsPlan401kMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_SavingsPlan401kMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Savings Plan 401(k) [Member]</link:label>
    <link:label xlink:label="gnrc_SavingsPlan401kMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the companies defined-contribution 401(k) savings plan.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_SavingsPlan401kMember" xlink:to="gnrc_SavingsPlan401kMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_StatementGeographicalAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_SegmentGeographicalDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_MajorCustomersAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_NameOfMajorCustomerDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueInputsLevel2Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Inputs, Level 2 [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel2Member" xlink:to="us-gaap_FairValueInputsLevel2Member-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrual" xlink:label="us-gaap_ExtendedProductWarrantyAccrual" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ExtendedProductWarrantyAccrual-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ExtendedProductWarrantyAccrual</link:label>
    <link:label xlink:label="us-gaap_ExtendedProductWarrantyAccrual-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:label xlink:label="us-gaap_ExtendedProductWarrantyAccrual-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance at beginning of period</link:label>
    <link:label xlink:label="us-gaap_ExtendedProductWarrantyAccrual-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance at end of period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ExtendedProductWarrantyAccrual" xlink:to="us-gaap_ExtendedProductWarrantyAccrual-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PatentsAndTechnologyMember" xlink:label="gnrc_PatentsAndTechnologyMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_PatentsAndTechnologyMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Patents and Technology [Member]</link:label>
    <link:label xlink:label="gnrc_PatentsAndTechnologyMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents finite-lived intangible assets classified as patents and technology.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_PatentsAndTechnologyMember" xlink:to="gnrc_PatentsAndTechnologyMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrualCurrent" xlink:label="us-gaap_ExtendedProductWarrantyAccrualCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ExtendedProductWarrantyAccrualCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ExtendedProductWarrantyAccrualCurrent</link:label>
    <link:label xlink:label="us-gaap_ExtendedProductWarrantyAccrualCurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Current portion - other accrued liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ExtendedProductWarrantyAccrualCurrent" xlink:to="us-gaap_ExtendedProductWarrantyAccrualCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_ExtendedProductWarrantyAccrualNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ExtendedProductWarrantyAccrualNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ExtendedProductWarrantyAccrualNoncurrent</link:label>
    <link:label xlink:label="us-gaap_ExtendedProductWarrantyAccrualNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Long-term portion - other long-term liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ExtendedProductWarrantyAccrualNoncurrent" xlink:to="us-gaap_ExtendedProductWarrantyAccrualNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_MinorityInterest-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Noncontrolling interests</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued" xlink:label="us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred revenue contracts issued</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued" xlink:to="us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementLineItems-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualCurrent" xlink:label="us-gaap_StandardProductWarrantyAccrualCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StandardProductWarrantyAccrualCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current portion - accrued product warranty</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StandardProductWarrantyAccrualCurrent" xlink:to="us-gaap_StandardProductWarrantyAccrualCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_StandardProductWarrantyAccrualNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StandardProductWarrantyAccrualNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-term portion - other long-term liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StandardProductWarrantyAccrualNoncurrent" xlink:to="us-gaap_StandardProductWarrantyAccrualNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrual" xlink:label="us-gaap_StandardProductWarrantyAccrual" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StandardProductWarrantyAccrual-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_StandardProductWarrantyAccrual</link:label>
    <link:label xlink:label="us-gaap_StandardProductWarrantyAccrual-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:label xlink:label="us-gaap_StandardProductWarrantyAccrual-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance at beginning of period</link:label>
    <link:label xlink:label="us-gaap_StandardProductWarrantyAccrual-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance at end of period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StandardProductWarrantyAccrual" xlink:to="us-gaap_StandardProductWarrantyAccrual-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualPayments" xlink:label="us-gaap_StandardProductWarrantyAccrualPayments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StandardProductWarrantyAccrualPayments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_StandardProductWarrantyAccrualPayments</link:label>
    <link:label xlink:label="us-gaap_StandardProductWarrantyAccrualPayments-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Payments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StandardProductWarrantyAccrualPayments" xlink:to="us-gaap_StandardProductWarrantyAccrualPayments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdditionalPaidInCapital-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapital" xlink:to="us-gaap_AdditionalPaidInCapital-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition" xlink:label="us-gaap_StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product warranty reserve assumed in acquisition</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition" xlink:to="us-gaap_StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:to="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedTranslationAdjustmentMember" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated Foreign Currency Adjustment Attributable to Parent [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedTranslationAdjustmentMember" xlink:to="us-gaap_AccumulatedTranslationAdjustmentMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:label="us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StandardProductWarrantyAccrualWarrantiesIssued-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Provision for warranty issued</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:to="us-gaap_StandardProductWarrantyAccrualWarrantiesIssued-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Changes in estimates for pre-existing warranties (1)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:to="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Product Warranty Liability [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockholdersEquityAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stockholders&#8217; equity:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product Warranty Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:to="us-gaap_ProductWarrantyDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Redeemable noncontrolling interest</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:to="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TotalLeverageRatio" xlink:label="gnrc_TotalLeverageRatio" xlink:type="locator"/>
    <link:label xlink:label="gnrc_TotalLeverageRatio-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_TotalLeverageRatio</link:label>
    <link:label xlink:label="gnrc_TotalLeverageRatio-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total Leverage Ratio</link:label>
    <link:label xlink:label="gnrc_TotalLeverageRatio-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Financial Condition Covenant applicable to Tranche A Term Loan Facility and Revolving Facility only.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_TotalLeverageRatio" xlink:to="gnrc_TotalLeverageRatio-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_Liabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_Liabilities</link:label>
    <link:label xlink:label="us-gaap_Liabilities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CovenantMaximumTotalLeverageRatio" xlink:label="gnrc_CovenantMaximumTotalLeverageRatio" xlink:type="locator"/>
    <link:label xlink:label="gnrc_CovenantMaximumTotalLeverageRatio-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_CovenantMaximumTotalLeverageRatio</link:label>
    <link:label xlink:label="gnrc_CovenantMaximumTotalLeverageRatio-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Covenant Maximum Total Leverage Ratio</link:label>
    <link:label xlink:label="gnrc_CovenantMaximumTotalLeverageRatio-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The maximum financial condition covenant applicable to Tranche A Term Loan Facility and Revolving Facility only.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_CovenantMaximumTotalLeverageRatio" xlink:to="gnrc_CovenantMaximumTotalLeverageRatio-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contract with Customer, Liability, Revenue Recognized</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Prepaid expenses and other assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfEnbalaMember" xlink:label="gnrc_AcquisitionOfEnbalaMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_AcquisitionOfEnbalaMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Acquisition of Enbala [Member]</link:label>
    <link:label xlink:label="gnrc_AcquisitionOfEnbalaMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents acquisition of Enbala.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_AcquisitionOfEnbalaMember" xlink:to="gnrc_AcquisitionOfEnbalaMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_CounterpartyNameAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Counterparty Name [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_CounterpartyNameAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Counterparty Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredIncomeTaxLiabilitiesNet</link:label>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Income Tax Liabilities, Net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_ConsolidationItemsDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Consolidation Items [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ConsolidationItemsDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ContractWithCustomerLiability</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiability-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contract with Customer, Liability, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_ConsolidationItemsAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Consolidation Items [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities" xlink:label="gnrc_OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities" xlink:type="locator"/>
    <link:label xlink:label="gnrc_OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating lease and other long-term liabilities</link:label>
    <link:label xlink:label="gnrc_OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Present value of lessee's discounted obligation for lease payments from operating lease, and other liabilities classified as noncurrent.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities" xlink:to="gnrc_OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent" xlink:label="gnrc_OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="gnrc_OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating lease and other assets</link:label>
    <link:label xlink:label="gnrc_OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of lessee's right to use underlying asset under operating lease and other assets after one year or beyond the normal operating cycle, if longer.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent" xlink:to="gnrc_OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock" xlink:label="gnrc_ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Components of Lease Assets and Liabilities [Table Text Block]</link:label>
    <link:label xlink:label="gnrc_ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tabular disclosure of components of lease assets and liabilities.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock" xlink:to="gnrc_ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract" xlink:label="gnrc_LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract" xlink:type="locator"/>
    <link:label xlink:label="gnrc_LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract</link:label>
    <link:label xlink:label="gnrc_LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease and Finance Lease, Remaining Term of Contract (Year)</link:label>
    <link:label xlink:label="gnrc_LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Remaining term of lessee's operating lease and finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract" xlink:to="gnrc_LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ScheduleOfLeasesCashFlowInformationTableTextBlock" xlink:label="gnrc_ScheduleOfLeasesCashFlowInformationTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ScheduleOfLeasesCashFlowInformationTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Leases Cash Flow Information [Table Text Block]</link:label>
    <link:label xlink:label="gnrc_ScheduleOfLeasesCashFlowInformationTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tabular disclosure of leases related to cash flow information.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ScheduleOfLeasesCashFlowInformationTableTextBlock" xlink:to="gnrc_ScheduleOfLeasesCashFlowInformationTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:label="gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:type="locator"/>
    <link:label xlink:label="gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation</link:label>
    <link:label xlink:label="gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Accumulated depreciation - finance lease ROU assets</link:label>
    <link:label xlink:label="gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of accumulated depreciation for finance lease right of use assets.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:to="gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FinanceLeaseRightOfUseAssetGross" xlink:label="gnrc_FinanceLeaseRightOfUseAssetGross" xlink:type="locator"/>
    <link:label xlink:label="gnrc_FinanceLeaseRightOfUseAssetGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finance lease ROU assets, gross</link:label>
    <link:label xlink:label="gnrc_FinanceLeaseRightOfUseAssetGross-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Gross amount of lessee's right to use underlying asset under finance lease.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_FinanceLeaseRightOfUseAssetGross" xlink:to="gnrc_FinanceLeaseRightOfUseAssetGross-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" xlink:label="gnrc_OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="gnrc_OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating and Finance Lease, Liability, Maturity [Table Text Block]</link:label>
    <link:label xlink:label="gnrc_OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tabular disclosure of undiscounted cash flows of operating and finance lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating and finance lease liability recognized in statement of financial position.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" xlink:to="gnrc_OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_RestrictedStockAndPerformanceSharesMember" xlink:label="gnrc_RestrictedStockAndPerformanceSharesMember" xlink:type="locator"/>
    <link:label xlink:label="gnrc_RestrictedStockAndPerformanceSharesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restricted Stock and Performance Shares [Member]</link:label>
    <link:label xlink:label="gnrc_RestrictedStockAndPerformanceSharesMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information about restricted stock and performance shares.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_RestrictedStockAndPerformanceSharesMember" xlink:to="gnrc_RestrictedStockAndPerformanceSharesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_LeaseTermAndDiscountRateTableTextBlock" xlink:label="gnrc_LeaseTermAndDiscountRateTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="gnrc_LeaseTermAndDiscountRateTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease, Term and Discount Rate [Table Text Block]</link:label>
    <link:label xlink:label="gnrc_LeaseTermAndDiscountRateTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tabular disclosure of term and discount rate of lease.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_LeaseTermAndDiscountRateTableTextBlock" xlink:to="gnrc_LeaseTermAndDiscountRateTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NoncontrollingInterestMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Noncontrolling Interest [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestMember" xlink:to="us-gaap_NoncontrollingInterestMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RetainedEarningsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_TreasuryStockAcquiredAverageCostPerShare</link:label>
    <link:label xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Treasury Stock Acquired, Average Cost Per Share (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockMember" xlink:label="us-gaap_TreasuryStockMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TreasuryStockMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Treasury Stock [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockMember" xlink:to="us-gaap_TreasuryStockMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramPeriodInForce1" xlink:label="us-gaap_StockRepurchaseProgramPeriodInForce1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockRepurchaseProgramPeriodInForce1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_StockRepurchaseProgramPeriodInForce1</link:label>
    <link:label xlink:label="us-gaap_StockRepurchaseProgramPeriodInForce1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock Repurchase Program, Period in Force (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchaseProgramPeriodInForce1" xlink:to="us-gaap_StockRepurchaseProgramPeriodInForce1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdditionalPaidInCapitalMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ParentMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Parent [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ParentMember" xlink:to="us-gaap_ParentMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_StockRepurchaseProgramAuthorizedAmount1</link:label>
    <link:label xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock Repurchase Program, Authorized Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:to="us-gaap_StockRepurchaseProgramAuthorizedAmount1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherBorrowings" xlink:label="us-gaap_OtherBorrowings" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherBorrowings-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Other</link:label>
    <link:label xlink:label="us-gaap_OtherBorrowings-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OtherBorrowings</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherBorrowings" xlink:to="us-gaap_OtherBorrowings-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementEquityComponentsAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtAndCapitalLeaseObligations" xlink:label="us-gaap_DebtAndCapitalLeaseObligations" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtAndCapitalLeaseObligations-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtAndCapitalLeaseObligations</link:label>
    <link:label xlink:label="us-gaap_DebtAndCapitalLeaseObligations-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtAndCapitalLeaseObligations" xlink:to="us-gaap_DebtAndCapitalLeaseObligations-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EquityComponentDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LongTermDebt</link:label>
    <link:label xlink:label="us-gaap_LongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Long-Term Debt, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LineOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LineOfCredit</link:label>
    <link:label xlink:label="us-gaap_LineOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Long-Term Line of Credit, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCredit" xlink:to="us-gaap_LineOfCredit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredFinanceCostsNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredFinanceCostsNet</link:label>
    <link:label xlink:label="us-gaap_DeferredFinanceCostsNet-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Issuance Costs, Net, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFinanceCostsNet" xlink:to="us-gaap_DeferredFinanceCostsNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_VehiclesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vehicles [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VehiclesMember" xlink:to="us-gaap_VehiclesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ExcessTaxBenefitsFromEquityAwards" xlink:label="gnrc_ExcessTaxBenefitsFromEquityAwards" xlink:type="locator"/>
    <link:label xlink:label="gnrc_ExcessTaxBenefitsFromEquityAwards-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_ExcessTaxBenefitsFromEquityAwards</link:label>
    <link:label xlink:label="gnrc_ExcessTaxBenefitsFromEquityAwards-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Excess tax benefits from equity awards</link:label>
    <link:label xlink:label="gnrc_ExcessTaxBenefitsFromEquityAwards-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The value of excess tax benefits from equity awards.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_ExcessTaxBenefitsFromEquityAwards" xlink:to="gnrc_ExcessTaxBenefitsFromEquityAwards-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OfficeEquipmentMember" xlink:label="us-gaap_OfficeEquipmentMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OfficeEquipmentMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Office Equipment [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OfficeEquipmentMember" xlink:to="us-gaap_OfficeEquipmentMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentAnnualReport-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Annual Report</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_MachineryAndEquipmentMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Machinery and Equipment [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BalanceSheetLocationAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Balance Sheet Location [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BalanceSheetLocationDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Balance Sheet Location [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_BalanceSheetLocationDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentUnamortizedDiscount</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Original issue discount and deferred financing costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentUnamortizedDiscount" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityIncorporationStateCountryCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentCarryingAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Term Loan</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="us-gaap_DebtInstrumentCarryingAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentTransitionReport-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Transition Report</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShortTermBorrowings-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Short-term borrowings</link:label>
    <link:label xlink:label="us-gaap_ShortTermBorrowings-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Short-Term Debt, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermBorrowings" xlink:to="us-gaap_ShortTermBorrowings-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityInteractiveDataCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
    <link:label xlink:label="dei_SecurityExchangeName-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Security Exchange Name</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
    <link:label xlink:label="dei_Security12bTitle-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligations-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-term borrowings and finance lease obligations</link:label>
    <link:label xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligations-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligations-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CostOfSalesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cost of Sales [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfSalesMember" xlink:to="us-gaap_CostOfSalesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesPeriodIncreaseDecrease" xlink:label="us-gaap_ValuationAllowancesAndReservesPeriodIncreaseDecrease" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ValuationAllowancesAndReservesPeriodIncreaseDecrease-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Charges to Reserve, Net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesPeriodIncreaseDecrease" xlink:to="us-gaap_ValuationAllowancesAndReservesPeriodIncreaseDecrease-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ValuationAllowancesAndReservesBalance-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ValuationAllowancesAndReservesBalance</link:label>
    <link:label xlink:label="us-gaap_ValuationAllowancesAndReservesBalance-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning</link:label>
    <link:label xlink:label="us-gaap_ValuationAllowancesAndReservesBalance-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance at End of Year</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesBalance" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Additions Charged to Earnings</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeStatementLocationAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Allowance for credit losses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeStatementLocationDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_IncomeStatementLocationDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners</link:label>
    <link:label xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Noncontrolling Interest, Ownership Percentage by Noncontrolling Owners</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestChangeInRedemptionValue" xlink:label="us-gaap_MinorityInterestChangeInRedemptionValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_MinorityInterestChangeInRedemptionValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Redemption value adjustment</link:label>
    <link:label xlink:label="us-gaap_MinorityInterestChangeInRedemptionValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Redeemable noncontrolling interest redemption value adjustment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestChangeInRedemptionValue" xlink:to="us-gaap_MinorityInterestChangeInRedemptionValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CollectibilityOfReceivablesMember" xlink:label="us-gaap_CollectibilityOfReceivablesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CollectibilityOfReceivablesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Collectibility of Receivables [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CollectibilityOfReceivablesMember" xlink:to="us-gaap_CollectibilityOfReceivablesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementBusinessSegmentsAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Segments [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_StatementBusinessSegmentsAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SegmentDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Segments [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentDomain" xlink:to="us-gaap_SegmentDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RedeemableNoncontrollingInterestEquityFairValue" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RedeemableNoncontrollingInterestEquityFairValue</link:label>
    <link:label xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityFairValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Redeemable Noncontrolling Interest, Equity, Fair Value, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RedeemableNoncontrollingInterestEquityFairValue" xlink:to="us-gaap_RedeemableNoncontrollingInterestEquityFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RedeemableNoncontrollingInterestTableTextBlock" xlink:label="us-gaap_RedeemableNoncontrollingInterestTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RedeemableNoncontrollingInterestTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Redeemable Noncontrolling Interest [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RedeemableNoncontrollingInterestTableTextBlock" xlink:to="us-gaap_RedeemableNoncontrollingInterestTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_StandardProductWarrantyAccrualWarrantyProvision" xlink:label="gnrc_StandardProductWarrantyAccrualWarrantyProvision" xlink:type="locator"/>
    <link:label xlink:label="gnrc_StandardProductWarrantyAccrualWarrantyProvision-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">gnrc_StandardProductWarrantyAccrualWarrantyProvision</link:label>
    <link:label xlink:label="gnrc_StandardProductWarrantyAccrualWarrantyProvision-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Standard Product Warranty Accrual, Warranty Provision</link:label>
    <link:label xlink:label="gnrc_StandardProductWarrantyAccrualWarrantyProvision-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The amount of warranty provision for standard product warranty accrual.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnrc_StandardProductWarrantyAccrualWarrantyProvision" xlink:to="gnrc_StandardProductWarrantyAccrualWarrantyProvision-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:label="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:to="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementTable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement [Table]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeStatementAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2025</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2026</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2027</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationContingentConsiderationLiability</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Contingent Consideration, Liability, Total</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning balance, January 1, 2022</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending balance, December 31, 2022</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">After 2027</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2023</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2024</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeNet" xlink:label="us-gaap_DerivativeFairValueOfDerivativeNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DerivativeFairValueOfDerivativeNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value of Derivatives</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeFairValueOfDerivativeNet" xlink:to="us-gaap_DerivativeFairValueOfDerivativeNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_StockholdersEquity</link:label>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Stockholders&#8217; equity attributable to Generac Holdings Inc.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtNoncurrent" xlink:to="us-gaap_LongTermDebtNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net unrealized gain (loss) on derivatives</link:label>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InterestRateSwapMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Interest Rate Swap [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestRateSwapMember" xlink:to="us-gaap_InterestRateSwapMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingSegmentsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Segments [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingSegmentsMember" xlink:to="us-gaap_OperatingSegmentsMember-label" xlink:type="arc"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>14
<FILENAME>gnrc-20221231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 07:21PM UTC 2023-02-22--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-21-subsequent-events" xlink:href="gnrc-20221231.xsd#statement-note-21-subsequent-events" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-21-subsequent-events" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts" xlink:href="gnrc-20221231.xsd#statement-note-20-valuation-and-qualifying-accounts" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:label="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited" xlink:href="gnrc-20221231.xsd#statement-note-19-quarterly-financial-information-unaudited" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_QuarterlyFinancialInformationTextBlock" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-1-description-of-business" xlink:href="gnrc-20221231.xsd#statement-note-1-description-of-business" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-1-description-of-business" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-document-and-entity-information" xlink:href="gnrc-20221231.xsd#statement-document-and-entity-information" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-document-and-entity-information" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorName" xlink:label="dei_AuditorName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CurrentFiscalYearEndDate" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalPeriodFocus" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalYearFocus" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentAnnualReport" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentTransitionReport" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFileNumber" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityIncorporationStateCountryCode" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityTaxIdentificationNumber" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine1" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCityOrTown" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressStateOrProvince" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressPostalZipCode" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CityAreaCode" xlink:type="arc"/>
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_LocalPhoneNumber" xlink:type="arc"/>
    <link:presentationArc order="19" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_Security12bTitle" xlink:type="arc"/>
    <link:presentationArc order="20" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_TradingSymbol" xlink:type="arc"/>
    <link:presentationArc order="21" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SecurityExchangeName" xlink:type="arc"/>
    <link:presentationArc order="22" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityWellKnownSeasonedIssuer" xlink:type="arc"/>
    <link:presentationArc order="23" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityVoluntaryFilers" xlink:type="arc"/>
    <link:presentationArc order="24" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCurrentReportingStatus" xlink:type="arc"/>
    <link:presentationArc order="25" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityInteractiveDataCurrent" xlink:type="arc"/>
    <link:presentationArc order="26" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFilerCategory" xlink:type="arc"/>
    <link:presentationArc order="27" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntitySmallBusiness" xlink:type="arc"/>
    <link:presentationArc order="28" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" xlink:type="arc"/>
    <link:presentationArc order="29" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_IcfrAuditorAttestationFlag" xlink:type="arc"/>
    <link:presentationArc order="30" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityShellCompany" xlink:type="arc"/>
    <link:presentationArc order="31" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityPublicFloat" xlink:type="arc"/>
    <link:presentationArc order="32" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCommonStockSharesOutstanding" xlink:type="arc"/>
    <link:presentationArc order="33" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AuditorName" xlink:type="arc"/>
    <link:presentationArc order="34" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AuditorFirmId" xlink:type="arc"/>
    <link:presentationArc order="35" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AuditorLocation" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-consolidated-balance-sheets-parentheticals" xlink:href="gnrc-20221231.xsd#statement-consolidated-balance-sheets-parentheticals" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-consolidated-balance-sheets-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockShares" xlink:label="us-gaap_TreasuryStockShares" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockShares" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity-parentheticals" xlink:href="gnrc-20221231.xsd#statement-consolidated-statements-of-stockholders-equity-parentheticals" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies" xlink:href="gnrc-20221231.xsd#statement-note-2-summary-of-accounting-policies" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfOffGridEnergyMember" xlink:label="gnrc_AcquisitionOfOffGridEnergyMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CleanEnergyProductMember" xlink:label="gnrc_CleanEnergyProductMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EcobeeIncMember" xlink:label="gnrc_EcobeeIncMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoCustomerMember" xlink:label="gnrc_NoCustomerMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OneCustomerMember" xlink:label="gnrc_OneCustomerMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherAccruedLiabilitiesMember" xlink:label="gnrc_OtherAccruedLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherLongtermLiabilitiesMember" xlink:label="gnrc_OtherLongtermLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TermLoanMember" xlink:label="gnrc_TermLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_AccountsReceivableMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_CustomerConcentrationRiskMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_MajorCustomersAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="gnrc_OneCustomerMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_SalesRevenueNetMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="gnrc_NoCustomerMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="gnrc_CleanEnergyProductMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="gnrc_TermLoanMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueInputsLevel2Member" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="gnrc_OtherAccruedLiabilitiesMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="gnrc_OtherLongtermLiabilitiesMember" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_AcquisitionOfOffGridEnergyMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_EcobeeIncMember" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-3-acquisitions" xlink:href="gnrc-20221231.xsd#statement-note-3-acquisitions" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-3-acquisitions" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfChiliconMember" xlink:label="gnrc_AcquisitionOfChiliconMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfDeepSeaMember" xlink:label="gnrc_AcquisitionOfDeepSeaMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfEnbalaMember" xlink:label="gnrc_AcquisitionOfEnbalaMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfOffGridEnergyMember" xlink:label="gnrc_AcquisitionOfOffGridEnergyMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AllAcquisitionsMember" xlink:label="gnrc_AllAcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EECAndBluePillarMember" xlink:label="gnrc_EECAndBluePillarMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EcobeeIncMember" xlink:label="gnrc_EcobeeIncMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_Other2020AcquisitionsMember" xlink:label="gnrc_Other2020AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_Other2021AcquisitionsMember" xlink:label="gnrc_Other2021AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioForecastMember" xlink:label="srt_ScenarioForecastMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_EECAndBluePillarMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_AcquisitionOfDeepSeaMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_AcquisitionOfChiliconMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_AcquisitionOfOffGridEnergyMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_EcobeeIncMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementScenarioAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioForecastMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_Other2021AcquisitionsMember" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_AcquisitionOfEnbalaMember" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_Other2020AcquisitionsMember" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_AllAcquisitionsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest" xlink:href="gnrc-20221231.xsd#statement-note-4-redeemable-noncontrolling-interest" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CaptivaEnergySolutionsMember" xlink:label="gnrc_CaptivaEnergySolutionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PramacMember" xlink:label="gnrc_PramacMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_RedeemableNoncontrollingInterestTextBlock" xlink:label="gnrc_RedeemableNoncontrollingInterestTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_PramacMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_OwnershipAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis" xlink:to="gnrc_PramacMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_CaptivaEnergySolutionsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis" xlink:to="gnrc_CaptivaEnergySolutionsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="gnrc_RedeemableNoncontrollingInterestTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities" xlink:href="gnrc-20221231.xsd#statement-note-5-derivative-instruments-and-hedging-activities" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommodityContractMember" xlink:label="us-gaap_CommodityContractMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeContractMember" xlink:label="us-gaap_ForeignExchangeContractMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NondesignatedMember" xlink:label="us-gaap_NondesignatedMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_CommodityContractMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_HedgingDesignationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_NondesignatedMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_CostOfSalesMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_ForeignExchangeContractMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_InterestRateSwapMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss" xlink:href="gnrc-20221231.xsd#statement-note-6-accumulated-other-comprehensive-loss" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-7-segment-reporting" xlink:href="gnrc-20221231.xsd#statement-note-7-segment-reporting" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-7-segment-reporting" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CleanEnergyProductMember" xlink:label="gnrc_CleanEnergyProductMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="us-gaap_GeographicConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetAssetsGeographicAreaMember" xlink:label="us-gaap_NetAssetsGeographicAreaMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="gnrc_CleanEnergyProductMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_GeographicConcentrationRiskMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_SalesRevenueNetMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="country_US" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_NetAssetsGeographicAreaMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details" xlink:href="gnrc-20221231.xsd#statement-note-8-balance-sheet-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets" xlink:href="gnrc-20221231.xsd#statement-note-9-goodwill-and-intangible-assets" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-" xlink:href="gnrc-20221231.xsd#statement-note-10-leases-" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-10-leases-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_LesseeOperatingLeasesAndFinanceLeasesTextBlock" xlink:label="gnrc_LesseeOperatingLeasesAndFinanceLeasesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="gnrc_LesseeOperatingLeasesAndFinanceLeasesTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations" xlink:href="gnrc-20221231.xsd#statement-note-11-product-warranty-obligations" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-12-credit-agreements" xlink:href="gnrc-20221231.xsd#statement-note-12-credit-agreements" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-12-credit-agreements" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ABLRevolvingCreditFacilityMember" xlink:label="gnrc_ABLRevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AdjustedLIBORRateMember" xlink:label="gnrc_AdjustedLIBORRateMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_LIBORFloorRateMember" xlink:label="gnrc_LIBORFloorRateMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TermLoanMember" xlink:label="gnrc_TermLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember" xlink:label="gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheATermLoanFacilityMember" xlink:label="gnrc_TrancheATermLoanFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheBTermLoanFacilityMember" xlink:label="gnrc_TrancheBTermLoanFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioForecastMember" xlink:label="srt_ScenarioForecastMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BaseRateMember" xlink:label="us-gaap_BaseRateMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:label="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="gnrc_TrancheBTermLoanFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VariableRateAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_BaseRateMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="gnrc_AdjustedLIBORRateMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="gnrc_LIBORFloorRateMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="gnrc_TermLoanMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="gnrc_ABLRevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="gnrc_TrancheATermLoanFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementScenarioAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioForecastMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DebtDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs" xlink:href="gnrc-20221231.xsd#statement-note-13-stock-repurchase-programs" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockMember" xlink:label="us-gaap_TreasuryStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockTextBlock" xlink:label="us-gaap_TreasuryStockTextBlock" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_TreasuryStockMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_TreasuryStockTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share" xlink:href="gnrc-20221231.xsd#statement-note-14-earnings-per-share" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes" xlink:href="gnrc-20221231.xsd#statement-note-15-income-taxes" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-15-income-taxes" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-16-benefit-plans" xlink:href="gnrc-20221231.xsd#statement-note-16-benefit-plans" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-16-benefit-plans" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_SavingsPlan401kMember" xlink:label="gnrc_SavingsPlan401kMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RetirementPlanTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="gnrc_SavingsPlan401kMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-17-share-plans" xlink:href="gnrc-20221231.xsd#statement-note-17-share-plans" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-17-share-plans" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EquityIncentivePlanPlanMember" xlink:label="gnrc_EquityIncentivePlanPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_RestrictedStockAndPerformanceSharesMember" xlink:label="gnrc_RestrictedStockAndPerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_The2019EquityIncentivePlanMember" xlink:label="gnrc_The2019EquityIncentivePlanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_BoardOfDirectorsChairmanMember" xlink:label="srt_BoardOfDirectorsChairmanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="gnrc_EquityIncentivePlanPlanMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="gnrc_The2019EquityIncentivePlanMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="gnrc_RestrictedStockAndPerformanceSharesMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_TitleOfIndividualAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_BoardOfDirectorsChairmanMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies" xlink:href="gnrc-20221231.xsd#statement-note-18-commitments-and-contingencies" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NotesToFinancialStatementsAbstract" xlink:label="gnrc_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember" xlink:label="gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PowerHomeSolarLlcMember" xlink:label="gnrc_PowerHomeSolarLlcMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CollectibilityOfReceivablesMember" xlink:label="us-gaap_CollectibilityOfReceivablesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_LitigationCaseAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseAxis" xlink:to="gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_CounterpartyNameAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis" xlink:to="gnrc_PowerHomeSolarLlcMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_CollectibilityOfReceivablesMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies" xlink:href="gnrc-20221231.xsd#statement-significant-accounting-policies-policies" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionRelatedCostsPolicyTextBlock" xlink:label="gnrc_AcquisitionRelatedCostsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock" xlink:label="gnrc_FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-significant-accounting-policies-policies" xlink:label="gnrc_statement-statement-significant-accounting-policies-policies" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtPolicyTextBlock" xlink:label="us-gaap_DebtPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="us-gaap_DerivativesPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivablesPolicyTextBlock" xlink:label="us-gaap_ReceivablesPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-significant-accounting-policies-policies" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PolicyTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PolicyTextBlockAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ConsolidationPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ConcentrationRiskCreditRisk" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ReceivablesPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_InventoryPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DebtPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="gnrc_FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_UseOfEstimates" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DerivativesPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="arc"/>
    <link:presentationArc order="19" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="gnrc_AcquisitionRelatedCostsPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="20" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-tables" xlink:href="gnrc-20221231.xsd#statement-note-2-summary-of-accounting-policies-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" xlink:label="gnrc_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-2-summary-of-accounting-policies-tables" xlink:label="gnrc_statement-statement-note-2-summary-of-accounting-policies-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-2-summary-of-accounting-policies-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="gnrc_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-3-acquisitions-tables" xlink:href="gnrc-20221231.xsd#statement-note-3-acquisitions-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-3-acquisitions-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock" xlink:label="gnrc_ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-3-acquisitions-tables" xlink:label="gnrc_statement-statement-note-3-acquisitions-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionProFormaInformationNonrecurringAdjustmentsTableTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationNonrecurringAdjustmentsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-3-acquisitions-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="gnrc_ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationNonrecurringAdjustmentsTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-tables" xlink:href="gnrc-20221231.xsd#statement-note-4-redeemable-noncontrolling-interest-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-4-redeemable-noncontrolling-interest-tables" xlink:label="gnrc_statement-statement-note-4-redeemable-noncontrolling-interest-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RedeemableNoncontrollingInterestTableTextBlock" xlink:label="us-gaap_RedeemableNoncontrollingInterestTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-4-redeemable-noncontrolling-interest-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_RedeemableNoncontrollingInterestTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-tables" xlink:href="gnrc-20221231.xsd#statement-note-5-derivative-instruments-and-hedging-activities-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock" xlink:label="gnrc_ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-5-derivative-instruments-and-hedging-activities-tables" xlink:label="gnrc_statement-statement-note-5-derivative-instruments-and-hedging-activities-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-5-derivative-instruments-and-hedging-activities-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="gnrc_ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-tables" xlink:href="gnrc-20221231.xsd#statement-note-6-accumulated-other-comprehensive-loss-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-6-accumulated-other-comprehensive-loss-tables" xlink:label="gnrc_statement-statement-note-6-accumulated-other-comprehensive-loss-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-6-accumulated-other-comprehensive-loss-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-tables" xlink:href="gnrc-20221231.xsd#statement-note-7-segment-reporting-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-7-segment-reporting-tables" xlink:label="gnrc_statement-statement-note-7-segment-reporting-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-7-segment-reporting-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-tables" xlink:href="gnrc-20221231.xsd#statement-note-8-balance-sheet-details-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-8-balance-sheet-details-tables" xlink:label="gnrc_statement-statement-note-8-balance-sheet-details-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-8-balance-sheet-details-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-tables" xlink:href="gnrc-20221231.xsd#statement-note-9-goodwill-and-intangible-assets-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ScheduleOfIntangibleAssetsTableTextBlock" xlink:label="gnrc_ScheduleOfIntangibleAssetsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-9-goodwill-and-intangible-assets-tables" xlink:label="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="gnrc_ScheduleOfIntangibleAssetsTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-tables" xlink:href="gnrc-20221231.xsd#statement-note-10-leases-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-10-leases-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_LeaseTermAndDiscountRateTableTextBlock" xlink:label="gnrc_LeaseTermAndDiscountRateTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" xlink:label="gnrc_OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock" xlink:label="gnrc_ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ScheduleOfLeasesCashFlowInformationTableTextBlock" xlink:label="gnrc_ScheduleOfLeasesCashFlowInformationTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-10-leases-tables" xlink:label="gnrc_statement-statement-note-10-leases-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-10-leases-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="gnrc_ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="gnrc_ScheduleOfLeasesCashFlowInformationTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="gnrc_LeaseTermAndDiscountRateTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="gnrc_OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-tables" xlink:href="gnrc-20221231.xsd#statement-note-11-product-warranty-obligations-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock" xlink:label="gnrc_ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-11-product-warranty-obligations-tables" xlink:label="gnrc_statement-statement-note-11-product-warranty-obligations-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-11-product-warranty-obligations-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="gnrc_ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-tables" xlink:href="gnrc-20221231.xsd#statement-note-12-credit-agreements-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-12-credit-agreements-tables" xlink:label="gnrc_statement-statement-note-12-credit-agreements-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-12-credit-agreements-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-tables" xlink:href="gnrc-20221231.xsd#statement-note-14-earnings-per-share-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-14-earnings-per-share-tables" xlink:label="gnrc_statement-statement-note-14-earnings-per-share-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-14-earnings-per-share-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-tables" xlink:href="gnrc-20221231.xsd#statement-note-15-income-taxes-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-15-income-taxes-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-15-income-taxes-tables" xlink:label="gnrc_statement-statement-note-15-income-taxes-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-15-income-taxes-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-17-share-plans-tables" xlink:href="gnrc-20221231.xsd#statement-note-17-share-plans-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-17-share-plans-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-17-share-plans-tables" xlink:label="gnrc_statement-statement-note-17-share-plans-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-17-share-plans-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-tables" xlink:href="gnrc-20221231.xsd#statement-note-19-quarterly-financial-information-unaudited-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-19-quarterly-financial-information-unaudited-tables" xlink:label="gnrc_statement-statement-note-19-quarterly-financial-information-unaudited-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-19-quarterly-financial-information-unaudited-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-tables" xlink:href="gnrc-20221231.xsd#statement-note-20-valuation-and-qualifying-accounts-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ValuationAndQualifyingAccountsTableTextBlock" xlink:label="gnrc_ValuationAndQualifyingAccountsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-20-valuation-and-qualifying-accounts-tables" xlink:label="gnrc_statement-statement-note-20-valuation-and-qualifying-accounts-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-20-valuation-and-qualifying-accounts-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="gnrc_ValuationAndQualifyingAccountsTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-2-summary-of-accounting-policies-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfOffGridEnergyMember" xlink:label="gnrc_AcquisitionOfOffGridEnergyMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AmortizationOfFinancingCostsAndDebtDiscountPremium" xlink:label="gnrc_AmortizationOfFinancingCostsAndDebtDiscountPremium-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CleanEnergyProductMember" xlink:label="gnrc_CleanEnergyProductMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ContingentConsiderationSharePaymentsValue" xlink:label="gnrc_ContingentConsiderationSharePaymentsValue-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredCostsAmortizationExpenseNextTwelveMonths" xlink:label="gnrc_DeferredCostsAmortizationExpenseNextTwelveMonths-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredCostsAmortizationExpenseYearFive" xlink:label="gnrc_DeferredCostsAmortizationExpenseYearFive-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredCostsAmortizationExpenseYearFour" xlink:label="gnrc_DeferredCostsAmortizationExpenseYearFour-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredCostsAmortizationExpenseYearThree" xlink:label="gnrc_DeferredCostsAmortizationExpenseYearThree-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredCostsAmortizationExpenseYearTwo" xlink:label="gnrc_DeferredCostsAmortizationExpenseYearTwo-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EcobeeIncMember" xlink:label="gnrc_EcobeeIncMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoCustomerMember" xlink:label="gnrc_NoCustomerMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoteToFinancialStatementDetailsTextual" xlink:label="gnrc_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NumberOfMajorCustomers" xlink:label="gnrc_NumberOfMajorCustomers-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OneCustomerMember" xlink:label="gnrc_OneCustomerMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherAccruedLiabilitiesMember" xlink:label="gnrc_OtherAccruedLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherLongtermLiabilitiesMember" xlink:label="gnrc_OtherLongtermLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TermLoanMember" xlink:label="gnrc_TermLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGross" xlink:label="us-gaap_AccountsReceivableGross-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdvertisingExpense" xlink:label="us-gaap_AdvertisingExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFairValue" xlink:label="us-gaap_DebtInstrumentFairValue-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:label="us-gaap_GoodwillAndIntangibleAssetImpairment-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_AccountsReceivableMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_CustomerConcentrationRiskMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_MajorCustomersAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="gnrc_OneCustomerMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_SalesRevenueNetMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="gnrc_NoCustomerMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="gnrc_CleanEnergyProductMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="gnrc_TermLoanMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueInputsLevel2Member" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="gnrc_OtherAccruedLiabilitiesMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="gnrc_OtherLongtermLiabilitiesMember" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_AcquisitionOfOffGridEnergyMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_EcobeeIncMember" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_NumberOfMajorCustomers-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccountsReceivableGross-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProvisionForDoubtfulAccounts-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Depreciation-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillAndIntangibleAssetImpairment-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_AmortizationOfFinancingCostsAndDebtDiscountPremium-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_DeferredCostsAmortizationExpenseNextTwelveMonths-2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_DeferredCostsAmortizationExpenseYearTwo-2" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_DeferredCostsAmortizationExpenseYearThree-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_DeferredCostsAmortizationExpenseYearFour-2" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_DeferredCostsAmortizationExpenseYearFive-2" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiability-2" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-2" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdvertisingExpense-2" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ResearchAndDevelopmentExpense-2" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebt-2" xlink:type="arc"/>
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentFairValue-2" xlink:type="arc"/>
    <link:presentationArc order="19" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability-2" xlink:type="arc"/>
    <link:presentationArc order="20" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities-2" xlink:type="arc"/>
    <link:presentationArc order="21" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_ContingentConsiderationSharePaymentsValue-2" xlink:type="arc"/>
    <link:presentationArc order="22" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-3-acquisitions-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfChiliconMember" xlink:label="gnrc_AcquisitionOfChiliconMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfDeepSeaMember" xlink:label="gnrc_AcquisitionOfDeepSeaMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfEnbalaMember" xlink:label="gnrc_AcquisitionOfEnbalaMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfOffGridEnergyMember" xlink:label="gnrc_AcquisitionOfOffGridEnergyMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AllAcquisitionsMember" xlink:label="gnrc_AllAcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill" xlink:label="gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ContingentConsiderationSharePaymentShares" xlink:label="gnrc_ContingentConsiderationSharePaymentShares-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ContingentConsiderationSharePaymentsValue" xlink:label="gnrc_ContingentConsiderationSharePaymentsValue-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EECAndBluePillarMember" xlink:label="gnrc_EECAndBluePillarMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EcobeeIncMember" xlink:label="gnrc_EcobeeIncMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoteToFinancialStatementDetailsTextual" xlink:label="gnrc_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_Other2020AcquisitionsMember" xlink:label="gnrc_Other2020AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_Other2021AcquisitionsMember" xlink:label="gnrc_Other2021AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ProformaAmortizationOfIntangibleAssets" xlink:label="gnrc_ProformaAmortizationOfIntangibleAssets-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioForecastMember" xlink:label="srt_ScenarioForecastMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_EECAndBluePillarMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_AcquisitionOfDeepSeaMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_AcquisitionOfChiliconMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_AcquisitionOfOffGridEnergyMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_EcobeeIncMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementScenarioAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioForecastMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_Other2021AcquisitionsMember" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_AcquisitionOfEnbalaMember" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_Other2020AcquisitionsMember" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_AllAcquisitionsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_ContingentConsiderationSharePaymentsValue-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_ContingentConsiderationSharePaymentShares-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_ProformaAmortizationOfIntangibleAssets-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-4-redeemable-noncontrolling-interest-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessAcquisitionNoncontrollingInterestTermOfPutOption" xlink:label="gnrc_BusinessAcquisitionNoncontrollingInterestTermOfPutOption-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessAcquisitionTermOfCallOption" xlink:label="gnrc_BusinessAcquisitionTermOfCallOption-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CaptivaEnergySolutionsMember" xlink:label="gnrc_CaptivaEnergySolutionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoncontrollingInterestAgreementExtensionOfTerm" xlink:label="gnrc_NoncontrollingInterestAgreementExtensionOfTerm-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoteToFinancialStatementDetailsTextual" xlink:label="gnrc_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PramacMember" xlink:label="gnrc_PramacMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage" xlink:label="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest" xlink:label="us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RedeemableNoncontrollingInterestEquityFairValue" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityFairValue-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_PramacMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_OwnershipAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis" xlink:to="gnrc_PramacMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_CaptivaEnergySolutionsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis" xlink:to="gnrc_CaptivaEnergySolutionsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RedeemableNoncontrollingInterestEquityFairValue-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_NoncontrollingInterestAgreementExtensionOfTerm-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_BusinessAcquisitionNoncontrollingInterestTermOfPutOption-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_BusinessAcquisitionTermOfCallOption-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-5-derivative-instruments-and-hedging-activities-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk" xlink:label="gnrc_DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoteToFinancialStatementDetailsTextual" xlink:label="gnrc_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NumberOfNewContractsEntered" xlink:label="gnrc_NumberOfNewContractsEntered-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommodityContractMember" xlink:label="us-gaap_CommodityContractMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeGainLossOnDerivativeNet" xlink:label="us-gaap_DerivativeGainLossOnDerivativeNet-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeNumberOfInstrumentsHeld" xlink:label="us-gaap_DerivativeNumberOfInstrumentsHeld-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeContractMember" xlink:label="us-gaap_ForeignExchangeContractMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NondesignatedMember" xlink:label="us-gaap_NondesignatedMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_CommodityContractMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_HedgingDesignationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_NondesignatedMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_CostOfSalesMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_ForeignExchangeContractMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_InterestRateSwapMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DerivativeNumberOfInstrumentsHeld-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DerivativeGainLossOnDerivativeNet-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_NumberOfNewContractsEntered-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-6-accumulated-other-comprehensive-loss-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoteToFinancialStatementDetailsTextual" xlink:label="gnrc_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax-n2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax-n2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-7-segment-reporting-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CleanEnergyProductMember" xlink:label="gnrc_CleanEnergyProductMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoteToFinancialStatementDetailsTextual" xlink:label="gnrc_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_StandardProductWarrantyAccrualWarrantyProvision" xlink:label="gnrc_StandardProductWarrantyAccrualWarrantyProvision-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="us-gaap_GeographicConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetAssetsGeographicAreaMember" xlink:label="us-gaap_NetAssetsGeographicAreaMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForOtherLosses" xlink:label="us-gaap_ProvisionForOtherLosses-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="gnrc_CleanEnergyProductMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_GeographicConcentrationRiskMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_SalesRevenueNetMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="country_US" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_NetAssetsGeographicAreaMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NumberOfReportableSegments-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProvisionForDoubtfulAccounts-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_StandardProductWarrantyAccrualWarrantyProvision-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProvisionForOtherLosses-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-8-balance-sheet-details-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoteToFinancialStatementDetailsTextual" xlink:label="gnrc_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment" xlink:label="us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-9-goodwill-and-intangible-assets-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoteToFinancialStatementDetailsTextual" xlink:label="gnrc_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-10-leases-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-10-leases-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract" xlink:label="gnrc_LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoteToFinancialStatementDetailsTextual" xlink:label="gnrc_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:label="us-gaap_LesseeOperatingLeaseRenewalTerm-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseRenewalTerm-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-11-product-warranty-obligations-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ExtendedWarrantyTerm" xlink:label="gnrc_ExtendedWarrantyTerm-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoteToFinancialStatementDetailsTextual" xlink:label="gnrc_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_StandardProductWarrantyAccrualWarrantyProvision" xlink:label="gnrc_StandardProductWarrantyAccrualWarrantyProvision-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalizedContractCostAmortization" xlink:label="us-gaap_CapitalizedContractCostAmortization-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalizedContractCostNet" xlink:label="us-gaap_CapitalizedContractCostNet-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_StandardProductWarrantyAccrualWarrantyProvision-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_ExtendedWarrantyTerm-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CapitalizedContractCostNet-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CapitalizedContractCostAmortization-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals" xlink:href="gnrc-20221231.xsd#statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals" xlink:label="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-12-credit-agreements-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ABLRevolvingCreditFacilityMember" xlink:label="gnrc_ABLRevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AdjustedLIBORRateMember" xlink:label="gnrc_AdjustedLIBORRateMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CovenantMaximumTotalLeverageRatio" xlink:label="gnrc_CovenantMaximumTotalLeverageRatio-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CovenantMinimumInterestCoverageRatio" xlink:label="gnrc_CovenantMinimumInterestCoverageRatio-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DebtInstrumentSOFRFloor" xlink:label="gnrc_DebtInstrumentSOFRFloor-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_InterestCoverageRatio" xlink:label="gnrc_InterestCoverageRatio-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_LIBORFloorRateMember" xlink:label="gnrc_LIBORFloorRateMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_LineOfCreditFacilityIncrementalCapacity" xlink:label="gnrc_LineOfCreditFacilityIncrementalCapacity-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoteToFinancialStatementDetailsTextual" xlink:label="gnrc_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_SecuredLeverageRatio" xlink:label="gnrc_SecuredLeverageRatio-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TermLoanMember" xlink:label="gnrc_TermLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement" xlink:label="gnrc_ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TotalLeverageRatio" xlink:label="gnrc_TotalLeverageRatio-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember" xlink:label="gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheATermLoanFacilityMember" xlink:label="gnrc_TrancheATermLoanFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheBTermLoanFacilityMember" xlink:label="gnrc_TrancheBTermLoanFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_UncommittedIncrementalTermLoanFacility" xlink:label="gnrc_UncommittedIncrementalTermLoanFacility-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioForecastMember" xlink:label="srt_ScenarioForecastMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BaseRateMember" xlink:label="us-gaap_BaseRateMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFeeAmount" xlink:label="us-gaap_DebtInstrumentFeeAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt-n2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturityDate" xlink:label="us-gaap_LongTermDebtMaturityDate-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLongTermLinesOfCredit" xlink:label="us-gaap_ProceedsFromLongTermLinesOfCredit-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:label="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:label="us-gaap_WriteOffOfDeferredDebtIssuanceCost-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="gnrc_TrancheBTermLoanFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VariableRateAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_BaseRateMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="gnrc_AdjustedLIBORRateMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="gnrc_LIBORFloorRateMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="gnrc_TermLoanMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="gnrc_ABLRevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="gnrc_TrancheATermLoanFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementScenarioAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioForecastMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShortTermBorrowings-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_UncommittedIncrementalTermLoanFacility-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_DebtInstrumentSOFRFloor-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_SecuredLeverageRatio-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_LineOfCreditFacilityIncrementalCapacity-2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredFinanceCostsNet-2" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProceedsFromLongTermLinesOfCredit-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt-n2" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturityDate-2" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RepaymentsOfLongTermDebt-2" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_CovenantMaximumTotalLeverageRatio-2" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_CovenantMinimumInterestCoverageRatio-2" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_TotalLeverageRatio-2" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_InterestCoverageRatio-2" xlink:type="arc"/>
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentFeeAmount-2" xlink:type="arc"/>
    <link:presentationArc order="19" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WriteOffOfDeferredDebtIssuanceCost-2" xlink:type="arc"/>
    <link:presentationArc order="20" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCredit-2" xlink:type="arc"/>
    <link:presentationArc order="21" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-13-stock-repurchase-programs-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoteToFinancialStatementDetailsTextual" xlink:label="gnrc_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_SharesAcquiredUnderStockRepurchasesProgramShares" xlink:label="gnrc_SharesAcquiredUnderStockRepurchasesProgramShares-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramPeriodInForce1" xlink:label="us-gaap_StockRepurchaseProgramPeriodInForce1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockMember" xlink:label="us-gaap_TreasuryStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="us-gaap_TreasuryStockSharesAcquired-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_TreasuryStockMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchaseProgramAuthorizedAmount1-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchaseProgramPeriodInForce1-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockSharesAcquired-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_SharesAcquiredUnderStockRepurchasesProgramShares-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-14-earnings-per-share-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoteToFinancialStatementDetailsTextual" xlink:label="gnrc_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-15-income-taxes-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-15-income-taxes-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoteToFinancialStatementDetailsTextual" xlink:label="gnrc_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TaxCreditCarryforwardStateManufacturing" xlink:label="gnrc_TaxCreditCarryforwardStateManufacturing-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_VauationAllowancesAndReservesAdjustments" xlink:label="gnrc_VauationAllowancesAndReservesAdjustments-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TaxCreditCarryforwardAmount" xlink:label="us-gaap_TaxCreditCarryforwardAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_VauationAllowancesAndReservesAdjustments-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TaxCreditCarryforwardAmount-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_TaxCreditCarryforwardStateManufacturing-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-16-benefit-plans-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-16-benefit-plans-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-16-benefit-plans-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DefinedContributionPlanPercentageOfEligibleCompensation" xlink:label="gnrc_DefinedContributionPlanPercentageOfEligibleCompensation-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EmployerContributionUnderMedicalAndDentalPlan" xlink:label="gnrc_EmployerContributionUnderMedicalAndDentalPlan-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoteToFinancialStatementDetailsTextual" xlink:label="gnrc_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_SavingsPlan401kMember" xlink:label="gnrc_SavingsPlan401kMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="us-gaap_DefinedContributionPlanCostRecognized-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RetirementPlanTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="gnrc_SavingsPlan401kMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_EmployerContributionUnderMedicalAndDentalPlan-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_DefinedContributionPlanPercentageOfEligibleCompensation-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedContributionPlanCostRecognized-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-17-share-plans-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredCompensationArrangementWithIndividualSharesGranted" xlink:label="gnrc_DeferredCompensationArrangementWithIndividualSharesGranted-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EquityIncentivePlanPlanMember" xlink:label="gnrc_EquityIncentivePlanPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoteToFinancialStatementDetailsTextual" xlink:label="gnrc_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PerformanceShareAwardPercentage" xlink:label="gnrc_PerformanceShareAwardPercentage-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_RestrictedStockAndPerformanceSharesMember" xlink:label="gnrc_RestrictedStockAndPerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod" xlink:label="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_The2019EquityIncentivePlanMember" xlink:label="gnrc_The2019EquityIncentivePlanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_BoardOfDirectorsChairmanMember" xlink:label="srt_BoardOfDirectorsChairmanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="gnrc_EquityIncentivePlanPlanMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="gnrc_The2019EquityIncentivePlanMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="gnrc_RestrictedStockAndPerformanceSharesMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_TitleOfIndividualAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_BoardOfDirectorsChairmanMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProceedsFromStockOptionsExercised-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-2" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_PerformanceShareAwardPercentage-2" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued-2" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_DeferredCompensationArrangementWithIndividualSharesGranted-2" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual" xlink:href="gnrc-20221231.xsd#statement-note-18-commitments-and-contingencies-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AmountFinancedByDealers" xlink:label="gnrc_AmountFinancedByDealers-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoteToFinancialStatementDetailsTextual" xlink:label="gnrc_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember" xlink:label="gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PowerHomeSolarLlcMember" xlink:label="gnrc_PowerHomeSolarLlcMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGross" xlink:label="us-gaap_AccountsReceivableGross-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CollectibilityOfReceivablesMember" xlink:label="us-gaap_CollectibilityOfReceivablesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyDamagesSoughtValue" xlink:label="us-gaap_LossContingencyDamagesSoughtValue-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_LitigationCaseAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseAxis" xlink:to="gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_CounterpartyNameAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis" xlink:to="gnrc_PowerHomeSolarLlcMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_CollectibilityOfReceivablesMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_AmountFinancedByDealers-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LossContingencyDamagesSoughtValue-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccountsReceivableGross-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details" xlink:href="gnrc-20221231.xsd#statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DiesAndToolsMember" xlink:label="gnrc_DiesAndToolsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details" xlink:label="gnrc_statement-statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandImprovementsMember" xlink:label="us-gaap_LandImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OfficeEquipmentMember" xlink:label="us-gaap_OfficeEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_LandImprovementsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_MachineryAndEquipmentMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="gnrc_DiesAndToolsMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_VehiclesMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_OfficeEquipmentMember" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_LeaseholdImprovementsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details" xlink:href="gnrc-20221231.xsd#statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation" xlink:label="gnrc_BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation-1" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion" xlink:label="gnrc_BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue" xlink:label="gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ContingentConsiderationLiabilityMember" xlink:label="gnrc_ContingentConsiderationLiabilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ContingentConsiderationPayments" xlink:label="gnrc_ContingentConsiderationPayments-n8" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details" xlink:label="gnrc_statement-statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByLiabilityClassAxis" xlink:label="us-gaap_FairValueByLiabilityClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByLiabilityClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="gnrc_ContingentConsiderationLiabilityMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_ContingentConsiderationPayments-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation-1" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details" xlink:href="gnrc-20221231.xsd#statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfChiliconMember" xlink:label="gnrc_AcquisitionOfChiliconMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EcobeeIncMember" xlink:label="gnrc_EcobeeIncMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PaymentsToAcquireBusinessesDeferredCashPayment" xlink:label="gnrc_PaymentsToAcquireBusinessesDeferredCashPayment" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details" xlink:label="gnrc_statement-statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_AcquisitionOfChiliconMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_EcobeeIncMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_PaymentsToAcquireBusinessesDeferredCashPayment" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details" xlink:href="gnrc-20221231.xsd#statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details" xlink:label="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details" xlink:href="gnrc-20221231.xsd#statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation" xlink:label="gnrc_AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions" xlink:label="gnrc_AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details" xlink:label="gnrc_statement-statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details" xlink:href="gnrc-20221231.xsd#statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details" xlink:label="gnrc_statement-statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeNet" xlink:label="us-gaap_DerivativeFairValueOfDerivativeNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeContractMember" xlink:label="us-gaap_ForeignExchangeContractMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueInputsLevel2Member" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_ForeignExchangeContractMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_InterestRateSwapMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DerivativeFairValueOfDerivativeNet" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details" xlink:href="gnrc-20221231.xsd#statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DomesticMember" xlink:label="gnrc_DomesticMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_InternationalMember" xlink:label="gnrc_InternationalMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details" xlink:label="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillGross" xlink:label="us-gaap_GoodwillGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" xlink:label="us-gaap_GoodwillImpairedAccumulatedImpairmentLoss-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="gnrc_DomesticMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="gnrc_InternationalMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill-5" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillGross" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillImpairedAccumulatedImpairmentLoss-n8" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details" xlink:href="gnrc-20221231.xsd#statement-note-10-leases-maturities-of-lease-liabilities-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:label="gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-10-leases-maturities-of-lease-liabilities-details" xlink:label="gnrc_statement-statement-note-10-leases-maturities-of-lease-liabilities-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-10-leases-maturities-of-lease-liabilities-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive-2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive-2" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive-2" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue-2" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-2" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-n9" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-n9" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiability-2" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiability-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details" xlink:href="gnrc-20221231.xsd#statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ABLRevolvingCreditFacilityMember" xlink:label="gnrc_ABLRevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheATermLoanFacilityMember" xlink:label="gnrc_TrancheATermLoanFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheBTermLoanFacilityMember" xlink:label="gnrc_TrancheBTermLoanFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details" xlink:label="gnrc_statement-statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="gnrc_TrancheATermLoanFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="gnrc_TrancheBTermLoanFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="gnrc_ABLRevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtNoncurrent" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details" xlink:href="gnrc-20221231.xsd#statement-note-17-share-plans-summary-of-stock-option-activity-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-17-share-plans-summary-of-stock-option-activity-details" xlink:label="gnrc_statement-statement-note-17-share-plans-summary-of-stock-option-activity-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised-n8" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-17-share-plans-summary-of-stock-option-activity-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-4" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised-n8" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod-n8" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-5" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-5" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details" xlink:href="gnrc-20221231.xsd#statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details" xlink:label="gnrc_statement-statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-4" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod-n8" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod-n8" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details" xlink:href="gnrc-20221231.xsd#statement-note-15-income-taxes-provision-for-income-taxes-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance" xlink:label="gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance-3" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-15-income-taxes-provision-for-income-taxes-details" xlink:label="gnrc_statement-statement-note-15-income-taxes-provision-for-income-taxes-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-15-income-taxes-provision-for-income-taxes-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit-3" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance-3" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details" xlink:href="gnrc-20221231.xsd#statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details" xlink:label="gnrc_statement-statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedTranslationAdjustmentMember" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest-5" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_AccumulatedTranslationAdjustmentMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax-n9" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax-1" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details" xlink:href="gnrc-20221231.xsd#statement-note-3-acquisitions-preliminary-price-allocation-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AcquisitionOfDeepSeaMember" xlink:label="gnrc_AcquisitionOfDeepSeaMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AllOther2021AcquisitionsMember" xlink:label="gnrc_AllOther2021AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill-3" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits" xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits-1" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings" xlink:label="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings-1" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EcobeeIncMember" xlink:label="gnrc_EcobeeIncMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_The2020AcquisitionsMember" xlink:label="gnrc_The2020AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_The2021AcquisitionsMember" xlink:label="gnrc_The2021AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_The2022AcquisitionsMember" xlink:label="gnrc_The2022AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-3-acquisitions-preliminary-price-allocation-details" xlink:label="gnrc_statement-statement-note-3-acquisitions-preliminary-price-allocation-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-3-acquisitions-preliminary-price-allocation-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_The2022AcquisitionsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_AcquisitionOfDeepSeaMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_EcobeeIncMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_AllOther2021AcquisitionsMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_The2021AcquisitionsMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="gnrc_The2020AcquisitionsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables-1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory-1" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets-1" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment-1" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill-1" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill-1" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets-1" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets-1" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill-3" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable-1" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits-1" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther-1" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings-1" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt-1" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities-1" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther-1" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt-1" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details" xlink:href="gnrc-20221231.xsd#statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_RedeemableNoncontrollingInterestMember" xlink:label="gnrc_RedeemableNoncontrollingInterestMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details" xlink:label="gnrc_statement-statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestChangeInRedemptionValue" xlink:label="us-gaap_MinorityInterestChangeInRedemptionValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests" xlink:label="us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests" xlink:label="us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TemporaryEquityNetIncome" xlink:label="us-gaap_TemporaryEquityNetIncome-1" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="gnrc_RedeemableNoncontrollingInterestMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TemporaryEquityNetIncome-1" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments-1" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_MinorityInterestDecreaseFromRedemptions-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_MinorityInterestChangeInRedemptionValue" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details" xlink:href="gnrc-20221231.xsd#statement-note-7-segment-reporting-total-sales-by-reportable-segment-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DomesticMember" xlink:label="gnrc_DomesticMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ExternalNetSalesMember" xlink:label="gnrc_ExternalNetSalesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_InternationalMember" xlink:label="gnrc_InternationalMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_IntersegmentSalesMember" xlink:label="gnrc_IntersegmentSalesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-7-segment-reporting-total-sales-by-reportable-segment-details" xlink:label="gnrc_statement-statement-note-7-segment-reporting-total-sales-by-reportable-segment-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntersegmentEliminationMember" xlink:label="us-gaap_IntersegmentEliminationMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-7-segment-reporting-total-sales-by-reportable-segment-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="gnrc_DomesticMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_ConsolidationItemsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis" xlink:to="us-gaap_OperatingSegmentsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="gnrc_ExternalNetSalesMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="gnrc_InternationalMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis" xlink:to="us-gaap_IntersegmentEliminationMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="gnrc_IntersegmentSalesMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax-1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details" xlink:href="gnrc-20221231.xsd#statement-note-10-leases-leases-cost-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-10-leases-leases-cost-details" xlink:label="gnrc_statement-statement-note-10-leases-leases-cost-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-10-leases-leases-cost-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseCost" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseInterestExpense" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LeaseCost-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details" xlink:href="gnrc-20221231.xsd#statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember" xlink:label="gnrc_CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FinanceLeaseAndOtherAssetsMember" xlink:label="gnrc_FinanceLeaseAndOtherAssetsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FinanceLeaseAndOtherLongtermLiabilitiesMember" xlink:label="gnrc_FinanceLeaseAndOtherLongtermLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:label="gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation-n8" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FinanceLeaseRightOfUseAssetGross" xlink:label="gnrc_FinanceLeaseRightOfUseAssetGross" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OperatingLeaseAndOtherAssetsMember" xlink:label="gnrc_OperatingLeaseAndOtherAssetsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:label="gnrc_OperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember" xlink:label="gnrc_OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:label="gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherAccruedLiabilitiesMember" xlink:label="gnrc_OtherAccruedLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details" xlink:label="gnrc_statement-statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="gnrc_OperatingLeaseAndOtherAssetsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="gnrc_OtherAccruedLiabilitiesMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="gnrc_OperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="gnrc_FinanceLeaseAndOtherAssetsMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="gnrc_CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="gnrc_FinanceLeaseAndOtherLongtermLiabilitiesMember" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="gnrc_OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiability" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_FinanceLeaseRightOfUseAssetGross" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation-n8" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset-3" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiability" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details" xlink:href="gnrc-20221231.xsd#statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details" xlink:label="gnrc_statement-statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeasePayments" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeasePrincipalPayments" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details" xlink:href="gnrc-20221231.xsd#statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details" xlink:label="gnrc_statement-statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details" xlink:href="gnrc-20221231.xsd#statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AmortizationOfDeferredRevenueOnExtendedWarrantyContracts" xlink:label="gnrc_AmortizationOfDeferredRevenueOnExtendedWarrantyContracts" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details" xlink:label="gnrc_statement-statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrual" xlink:label="us-gaap_ExtendedProductWarrantyAccrual-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrual" xlink:label="us-gaap_ExtendedProductWarrantyAccrual-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued" xlink:label="us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrual" xlink:label="us-gaap_StandardProductWarrantyAccrual-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrual" xlink:label="us-gaap_StandardProductWarrantyAccrual-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition" xlink:label="us-gaap_StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualPayments" xlink:label="us-gaap_StandardProductWarrantyAccrualPayments-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:label="us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StandardProductWarrantyAccrual-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StandardProductWarrantyAccrualPayments-n9" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StandardProductWarrantyAccrual-5" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ExtendedProductWarrantyAccrual-4" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_AmortizationOfDeferredRevenueOnExtendedWarrantyContracts" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ExtendedProductWarrantyAccrual-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details" xlink:href="gnrc-20221231.xsd#statement-note-12-credit-agreements-longterm-borrowings-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ABLRevolvingCreditFacilityMember" xlink:label="gnrc_ABLRevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheATermLoanFacilityMember" xlink:label="gnrc_TrancheATermLoanFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TrancheBTermLoanFacilityMember" xlink:label="gnrc_TrancheBTermLoanFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-12-credit-agreements-longterm-borrowings-details" xlink:label="gnrc_statement-statement-note-12-credit-agreements-longterm-borrowings-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtAndCapitalLeaseObligations" xlink:label="us-gaap_DebtAndCapitalLeaseObligations-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligations-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermLineOfCredit" xlink:label="us-gaap_LongTermLineOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherBorrowings" xlink:label="us-gaap_OtherBorrowings-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-12-credit-agreements-longterm-borrowings-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="gnrc_TrancheATermLoanFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="gnrc_TrancheBTermLoanFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="gnrc_ABLRevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount-n9" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermLineOfCredit" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiability" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherBorrowings-1" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtAndCapitalLeaseObligations-3" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtCurrent" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligations-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-unrecognized-tax-benefits-details" xlink:href="gnrc-20221231.xsd#statement-note-15-income-taxes-unrecognized-tax-benefits-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-15-income-taxes-unrecognized-tax-benefits-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-15-income-taxes-unrecognized-tax-benefits-details" xlink:label="gnrc_statement-statement-note-15-income-taxes-unrecognized-tax-benefits-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:label="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations-n8" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-15-income-taxes-unrecognized-tax-benefits-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities-n8" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details" xlink:href="gnrc-20221231.xsd#statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent" xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent" xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent" xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent" xlink:label="gnrc_EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details" xlink:label="gnrc_statement-statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details" xlink:href="gnrc-20221231.xsd#statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare" xlink:label="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details" xlink:label="gnrc_statement-statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details" xlink:href="gnrc-20221231.xsd#statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details" xlink:label="gnrc_statement-statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GrossProfit" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingIncomeLoss" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareBasic-1" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareDiluted-1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details" xlink:href="gnrc-20221231.xsd#statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired" xlink:label="gnrc_SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details" xlink:label="gnrc_statement-statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossMember" xlink:label="us-gaap_AllowanceForCreditLossMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryValuationReserveMember" xlink:label="us-gaap_InventoryValuationReserveMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesPeriodIncreaseDecrease" xlink:label="us-gaap_ValuationAllowancesAndReservesPeriodIncreaseDecrease" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_AllowanceForCreditLossMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_InventoryValuationReserveMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesPeriodIncreaseDecrease" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-consolidated-balance-sheets" xlink:href="gnrc-20221231.xsd#statement-consolidated-balance-sheets" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-consolidated-balance-sheets" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ExcessPurchasePriceOverPredecessorBasis" xlink:label="gnrc_ExcessPurchasePriceOverPredecessorBasis-n8" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FiniteLivedCustomerListsNet" xlink:label="gnrc_FiniteLivedCustomerListsNet" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_FiniteLivedPatentsAndTechnologyNet" xlink:label="gnrc_FiniteLivedPatentsAndTechnologyNet" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities" xlink:label="gnrc_OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent" xlink:label="gnrc_OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TradeNamesNet" xlink:label="gnrc_TradeNamesNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherIntangibleAssetsNet" xlink:label="us-gaap_OtherIntangibleAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue-n8" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsCurrentAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent-3" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="gnrc_FiniteLivedCustomerListsNet" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="gnrc_FiniteLivedPatentsAndTechnologyNet" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_OtherIntangibleAssetsNet" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="gnrc_TradeNamesNet" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="gnrc_OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_Assets-3" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ShortTermBorrowings" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableCurrent" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent-3" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet-1" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="gnrc_OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_Liabilities-3" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapital" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_TreasuryStockValue-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="gnrc_ExcessPurchasePriceOverPredecessorBasis-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity-3" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_MinorityInterest" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest-3" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows" xlink:href="gnrc-20221231.xsd#statement-consolidated-statements-of-cash-flows" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue" xlink:label="gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue-n8" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ExcessTaxBenefitsFromEquityAwards" xlink:label="gnrc_ExcessTaxBenefitsFromEquityAwards-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:label="us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest" xlink:label="us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="us-gaap_PaymentsOfDividendsCommonStock-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireLongtermInvestments" xlink:label="us-gaap_PaymentsToAcquireLongtermInvestments-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables" xlink:label="us-gaap_ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfLongtermInvestments" xlink:label="us-gaap_ProceedsFromSaleOfLongtermInvestments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromShortTermDebt" xlink:label="us-gaap_ProceedsFromShortTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities" xlink:label="us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfShortTermDebt" xlink:label="us-gaap_RepaymentsOfShortTermDebt-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ProfitLoss-1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_Depreciation-1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AmortizationOfIntangibleAssets-1" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnDispositionOfAssets1-n8" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable-n9" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories-n9" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets-n9" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherAccruedLiabilities-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="gnrc_ExcessTaxBenefitsFromEquityAwards-n9" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleOfLongtermInvestments" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-n8" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireLongtermInvestments-n8" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-n8" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities-3" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromShortTermDebt" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfShortTermDebt-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock-n8" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities-n8" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts-n8" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest-n8" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfDividendsCommonStock-n8" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-n8" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities-3" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect-3" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-4" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-5" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_InterestPaidNet" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_IncomeTaxesPaidNet" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details" xlink:href="gnrc-20221231.xsd#statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_PatentsAndTechnologyMember" xlink:label="gnrc_PatentsAndTechnologyMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details" xlink:label="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerListsMember" xlink:label="us-gaap_CustomerListsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IndefiniteLivedTradeNames" xlink:label="us-gaap_IndefiniteLivedTradeNames" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_CustomerListsMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="gnrc_PatentsAndTechnologyMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IndefiniteLivedTradeNames" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IntangibleAssetsGrossExcludingGoodwill" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-" xlink:href="gnrc-20221231.xsd#statement-consolidated-statements-of-comprehensive-income-" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentIncomeNonoperating" xlink:label="us-gaap_InvestmentIncomeNonoperating" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GrossProfit-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingExpensesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_SellingAndMarketingExpense" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_GeneralAndAdministrativeExpense" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpenses-3" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingIncomeLoss-3" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InterestExpense-n8" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InvestmentIncomeNonoperating" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense-3" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-3" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_ProfitLoss-3" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NetIncomeLoss-3" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest-3" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax-3" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_EarningsPerShareBasic-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_EarningsPerShareDiluted-2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-3-acquisitions-unaudited-pro-forma-information-details" xlink:href="gnrc-20221231.xsd#statement-note-3-acquisitions-unaudited-pro-forma-information-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-3-acquisitions-unaudited-pro-forma-information-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-3-acquisitions-unaudited-pro-forma-information-details" xlink:label="gnrc_statement-statement-note-3-acquisitions-unaudited-pro-forma-information-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProFormaMember" xlink:label="srt_ProFormaMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-3-acquisitions-unaudited-pro-forma-information-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementScenarioAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ProFormaMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details" xlink:href="gnrc-20221231.xsd#statement-note-7-segment-reporting-net-sales-by-products-and-services-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_CommercialAndIndustrialPowerProductsMember" xlink:label="gnrc_CommercialAndIndustrialPowerProductsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DomesticMember" xlink:label="gnrc_DomesticMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_InternationalMember" xlink:label="gnrc_InternationalMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_OtherProductsAndServicesMember" xlink:label="gnrc_OtherProductsAndServicesMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ResidentialPowerProductsMember" xlink:label="gnrc_ResidentialPowerProductsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-7-segment-reporting-net-sales-by-products-and-services-details" xlink:label="gnrc_statement-statement-note-7-segment-reporting-net-sales-by-products-and-services-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-7-segment-reporting-net-sales-by-products-and-services-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="gnrc_ResidentialPowerProductsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="gnrc_DomesticMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="gnrc_InternationalMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="gnrc_CommercialAndIndustrialPowerProductsMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="gnrc_OtherProductsAndServicesMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details" xlink:href="gnrc-20221231.xsd#statement-note-7-segment-reporting-segment-information-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_AdjustedEBITDA" xlink:label="gnrc_AdjustedEBITDA-2" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_BusinessOptimizationExpense" xlink:label="gnrc_BusinessOptimizationExpense-n8" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation" xlink:label="gnrc_DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DomesticMember" xlink:label="gnrc_DomesticMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_InternationalMember" xlink:label="gnrc_InternationalMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NoncashWritedownAndOtherAdjustments" xlink:label="gnrc_NoncashWritedownAndOtherAdjustments-n8" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_Other" xlink:label="gnrc_Other-n9" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ProvisionForProductCharges" xlink:label="gnrc_ProvisionForProductCharges" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TransactionCostsAndCredityFaciltyFees" xlink:label="gnrc_TransactionCostsAndCredityFaciltyFees-n8" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-7-segment-reporting-segment-information-details" xlink:label="gnrc_statement-statement-note-7-segment-reporting-segment-information-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:label="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-7-segment-reporting-segment-information-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="gnrc_DomesticMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="gnrc_InternationalMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_AdjustedEBITDA-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InterestExpense-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DepreciationDepletionAndAmortization-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_NoncashWritedownAndOtherAdjustments-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensation-n9" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_TransactionCostsAndCredityFaciltyFees-n8" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_BusinessOptimizationExpense-n8" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_ProvisionForProductCharges" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_Other-n9" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Assets" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details" xlink:href="gnrc-20221231.xsd#statement-note-8-balance-sheet-details-inventories-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-8-balance-sheet-details-inventories-details" xlink:label="gnrc_statement-statement-note-8-balance-sheet-details-inventories-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-8-balance-sheet-details-inventories-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryNet-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details" xlink:href="gnrc-20221231.xsd#statement-note-8-balance-sheet-details-property-and-equipment-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_DiesAndToolsMember" xlink:label="gnrc_DiesAndToolsMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-8-balance-sheet-details-property-and-equipment-details" xlink:label="gnrc_statement-statement-note-8-balance-sheet-details-property-and-equipment-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandAndLandImprovementsMember" xlink:label="us-gaap_LandAndLandImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OfficeEquipmentMember" xlink:label="us-gaap_OfficeEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-8-balance-sheet-details-property-and-equipment-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_LandAndLandImprovementsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_MachineryAndEquipmentMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="gnrc_DiesAndToolsMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_VehiclesMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_OfficeEquipmentMember" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_LeaseholdImprovementsMember" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_ConstructionInProgressMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-n9" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details" xlink:href="gnrc-20221231.xsd#statement-note-11-product-warranty-obligations-deferred-product-obligations-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-11-product-warranty-obligations-deferred-product-obligations-details" xlink:label="gnrc_statement-statement-note-11-product-warranty-obligations-deferred-product-obligations-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrual" xlink:label="us-gaap_ExtendedProductWarrantyAccrual-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrualCurrent" xlink:label="us-gaap_ExtendedProductWarrantyAccrualCurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtendedProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_ExtendedProductWarrantyAccrualNoncurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrual" xlink:label="us-gaap_StandardProductWarrantyAccrual-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualCurrent" xlink:label="us-gaap_StandardProductWarrantyAccrualCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_StandardProductWarrantyAccrualNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-11-product-warranty-obligations-deferred-product-obligations-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StandardProductWarrantyAccrualCurrent" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StandardProductWarrantyAccrualNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StandardProductWarrantyAccrual-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ExtendedProductWarrantyAccrualCurrent-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ExtendedProductWarrantyAccrualNoncurrent-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ExtendedProductWarrantyAccrual-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details" xlink:href="gnrc-20221231.xsd#statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_NetIncomeLossAvailableToCommonStockholders" xlink:label="gnrc_NetIncomeLossAvailableToCommonStockholders-3" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details" xlink:label="gnrc_statement-statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares" xlink:label="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestChangeInRedemptionValue" xlink:label="us-gaap_MinorityInterestChangeInRedemptionValue-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_MinorityInterestChangeInRedemptionValue-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_NetIncomeLossAvailableToCommonStockholders-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareBasic-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareDiluted-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details" xlink:href="gnrc-20221231.xsd#statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details" xlink:label="gnrc_statement-statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsDeferredIncome" xlink:label="us-gaap_DeferredTaxAssetsDeferredIncome" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities-n10" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts" xlink:label="us-gaap_DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:label="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsDeferredIncome" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsInventory-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsOther" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance-n8" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsNet-3" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredIncomeTaxLiabilities-3" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilities-n10" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity" xlink:href="gnrc-20221231.xsd#statement-consolidated-statements-of-stockholders-equity" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity" xlink:type="extended">
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_ExcessPurchasePriceOverPredecessorBasisMember" xlink:label="gnrc_ExcessPurchasePriceOverPredecessorBasisMember" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares" xlink:label="gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" xlink:label="gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TreasuryStockIssuedDuringPeriodContingentConsideration" xlink:label="gnrc_TreasuryStockIssuedDuringPeriodContingentConsideration" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TreasuryStockIssuedDuringPeriodValueContingentConsideration" xlink:label="gnrc_TreasuryStockIssuedDuringPeriodValueContingentConsideration" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards" xlink:label="gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards-n8" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod" xlink:label="gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestChangeInRedemptionValue" xlink:label="us-gaap_MinorityInterestChangeInRedemptionValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToNonredeemableNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNonredeemableNoncontrollingInterest-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:label="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesTreasuryStockReissued" xlink:label="us-gaap_StockIssuedDuringPeriodSharesTreasuryStockReissued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueTreasuryStockReissued" xlink:label="us-gaap_StockIssuedDuringPeriodValueTreasuryStockReissued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockMember" xlink:label="us-gaap_TreasuryStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="us-gaap_TreasuryStockSharesAcquired-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod-n8" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_CommonStockMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_TreasuryStockMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="gnrc_ExcessPurchasePriceOverPredecessorBasisMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_RetainedEarningsMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_ParentMember" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_NoncontrollingInterestMember" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:to="srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest-4" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards-n8" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod-n8" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_MinorityInterestChangeInRedemptionValue" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLossAttributableToNonredeemableNoncontrollingInterest-1" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation-n8" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesTreasuryStockReissued" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueTreasuryStockReissued" xlink:type="arc"/>
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockSharesAcquired-n8" xlink:type="arc"/>
    <link:presentationArc order="19" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod-n8" xlink:type="arc"/>
    <link:presentationArc order="20" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_TreasuryStockIssuedDuringPeriodContingentConsideration" xlink:type="arc"/>
    <link:presentationArc order="21" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="gnrc_TreasuryStockIssuedDuringPeriodValueContingentConsideration" xlink:type="arc"/>
    <link:presentationArc order="22" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding-5" xlink:type="arc"/>
    <link:presentationArc order="23" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details" xlink:href="gnrc-20221231.xsd#statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="gnrc-20221231.xsd#gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details" xlink:label="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="arc"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>15
<FILENAME>chart02.jpg
<TEXT>
begin 644 chart02.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  ," @," @,# P,$ P,$!0@%!00$
M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_
MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04
M%!04%!04%!04%!04%!04%!04%!04%!3_P  1" *W ^D# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#]4Z*** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **:[K&C.[!549+,< #UKY!TW]O'Q/\
M%+7-=;X+?!#6/BEX0T.[:SN_$PUNVTR&:1<$_94E4F?CG (."I(&X4 ?8%%?
M-WQ<_;2L_AO#\/=&TWP)K_B7XE^.+&._T[P*@2VO;5&CWL+MGR(-IWJ<@X,<
MG921D> _VV=67XS:'\+_ (N_"K4OA)XG\01L^BR2:M!JME>L,_NQ<1*JAST
M&>2 <$KD ^J**^.%_P""B]E:_M;W?P9U/P-+8:5!K46@?\)9_:@=/M<T3-;H
MT'DC;YCJR#]X>F?:NG_;4_;BLOV08?#EO#X3E\:ZWK"W%R=/BOQ9BVM80N^9
MW\N0X+, !MYPW/&" ?4%%?)WQB_;GU#X<^ ?@5KF@?#AO%NK_%B.U_L_1FUM
M+$V\UQ%;O%$9FA96):X5-QV 8R<#IT/P!_;"F^*GQ:\0_"GQIX!O_AI\2-%L
MUU&72+C4(M0@EMSL^:.XB 5CB6,XQC#'!.#@ ^D**^1/@C_P4*TWXR?M$W'P
MV_X0Z;1-&O#J*>'O%$FHB6/6FLY"K^7%Y2A0525\B1L; ,<\:_Q]_;$\6?"_
M]HCP_P#!_P $?";_ (61XCUG0AKD/_%1PZ5A1)<*Z?O8F7Y5MRV2XSNP!QR
M?4E%?+_PS_;@M_'GPM^,6N:AX'U#PQXS^%ME<W.N^$[V[5\/'!-*B)<JF"KF
MWD7=LXQG!!&<G4O^"@-E9_ ?X5^-[7P+?ZKXL^)-RUCH7@^ROD+/<+*8R&N6
M155-VSYMG\8XP"0 ?6U%>-?#'X[>(M6\*>+=7^*GPYO?A WAJ+[5=F_U&&_M
M)+?8[M+%<Q *^P1G< ,C*^M>)6O[?WCSQ5X0O/'_ (+_ &<O$?B/X76PFE_X
M2*?6[:TN9H8BP>6*R*L\BC:>5)Z'T- 'VE17RQ\0/V]M"T?]F/PU\9/!/AJY
M\:6NOZI!I%MHLMV+&>.XD:16CD;9( RM&1@ @Y!!P0:?XK_;LTG1_P!C.W^/
M^D>&GUB!_(BE\/R7_P!GD@N&N1;RQ-+Y;8,;[N=GS  X :@#ZDHJMIMZ-2TV
MUNU4HMQ$DH4\D;@#C]:^3$_;K\3_ !&\0>([?X)?!/5OBOX?\/7;V5]XA_MR
MVTNUDE0986WFJQGXY 7!((.,,"0#Z\HKY<\,_MZ^'?&?[-?CWXHZ5X<OH]7\
M$K)'K'A+4YA;7-O<)C]VT@5L*><-M_A8%0015_\ 9Q_:4^+'QSN/#FJ:M\!_
M^$/\!:W9?;H/%'_"86E]B-HR\7^BK&DOSG Y *YR1Q0!]*45YO\ M!_'WPK^
MS7\,=0\;^+II5T^V988+6V4-/=W#9V0Q D L<$\D !6). :\W^$O[2OQ3\<>
M*- @\4_L\>(/!7A;7L_8M>.L6]ZT(\MI%:[ME59+8$*!\_1F H ^D**\._97
M_:;7]IK2_&]XOAP^'#X9\17&@[#>_:OM(B52)L^6FS.[[G.,?>.:X+PC^W?'
MXJ^!?QE^(X\$M:K\.]4N]-&F_P!J!SJ'DA"'\SR1Y6[?TVOC'4T ?5U%?.O[
M&G[8=I^UMX;UZZD\,R>#==T::W^TZ/->B[/V>XA$MM<!_+C^61=V!M_AZG-<
M#\._^"C6G_$O]K>/X,Z7X(F_LF>_U'3[7Q:VI@I<26<$LDK+;^5RA:)E#"0\
M$'U  /LBBO#?V=_VG$^/GCKXN^&U\.-H;?#_ ,0R:";DWOV@7VR6:/S=OEKY
M>3"3MRWWAS7*^#_VUH_%FD_M'WP\'M:CX.SZA"4.I;_[6^RI<L3GRAY&XVQ'
M_+3&_OC! /IRBO-_V<_C&O[0'P4\*_$%=).A#7+=Y_[.-Q]H\@K*\97S-J[N
M4SG:.O2O#/CC_P %"],^"W[0EG\.I/!\VKZ%!<Z99:_XK741%%HT]Z7:)7B\
MIMP$2>9DNN1N&.!D ^NZ*^2_VK_VROB+^RY<:SJ\_P #/[?^'=E-;6]OXL_X
M2ZVMOM+RQH2/L@ADE3;(7CR1@[-W (J+QA^V=\2?A7\!_%WQ+^(/P'_X1.'2
M7TX:9I__  F%M>_VHMS*8Y&\R&%O)\L&-L,IW;\#&": /KFBOG72?VO%G_:8
M\+?"75/";Z5#XI\-IX@T;76O_,6Y8QF1[;RO* #*(YOFWG[@X&X8V_$'[3 T
M_P#:P\-?!'2_#;:O=7VC2ZYJNL"]\M=*@7>(P8O+;S"[JJ_>7'F(><T >WT5
M\1_"O]O#XP?'2QU?5/A]^S3_ ,))H>F:K-I$U^?'EG:8FC",P\N:!6^Y)&W&
M1\V,D@U];_$C7?$7AGP3JNI^$_"__":>(;>-6L]!_M".P^UL74%?/D!1,*6;
M)'\..] '2T5\-^&?V]OC1XR^)7BCP!H_[,'VSQ=X92*35M._X6!9)]F60 H?
M,: 1OD,/N,<9YKNO%7[;&N:E\4-<^'OPD^$FI?%;Q-X<5!KSQ:S;Z;8:?,PY
M@^TRAE>12&4C Y5@,[3@ ^JJ*^5_AS^VSJWQ6\/^/=*\/?"K4E^,O@^2%+SX
M=:KJT%D\RO,B-)'>.OEE%1F?)49PH'WU)X/P=^WM\:/'_CSQ;X+T']F#[?XE
M\*/''K-C_P + LH_LK29V#>\ 1\[3]QFZ<T ?<E%?(O[1G_!0C3OV??C;8^!
MY/!L^O:-;C3V\1>)(]1$,6B+=RE4WQ^4V\B,>9@LF00,]Z]'_;"_:>C_ &3?
MA'#XY;PZ?%22:E!I_P!B2^%KQ(KMOW^6^<!.F.<]10![G117RW\??VQ/%GPO
M_:(\/_!_P1\)O^%D>(]9T(:Y#_Q4<.E8427"NG[V)E^5;<MDN,[L <<@'U)1
M7R_\,_VX+?QY\+?C%KFH>!]0\,>,_A;97-SKOA.]NU?#QP32HB7*I@JYMY%W
M;.,9P01G-_9__:W^,/QZA\)Z[;?L[?V7X UV49\3?\)O9S?9X [(\OV8Q)*V
MTJWRX!..* /K*BOB'Q]^WC\8_AS\2/#/@?5_V9_)U[Q1--#H4'_">V;?;O+(
MW'<L#+'PRG$C+UKO?$'[87BGP!XF^!_AKQQ\*&\,>(OB3JMYILU@OB*&\_LD
M0RP(DGF11%)]XG5MH*;<8R30!]0T5X;\>/VG$^"/Q:^#G@=O#C:RWQ$U.?3A
M?"]\@6'EM;KOV>6WFY-P.,K]T\\UYKX^_;:\?:?^T;XX^$?P]^!S_$74?"=I
M;7UU=IXJ@TYGAEMX)=PCEA.2#.J;59B<9QV !]>45\G#_@H)HFH?L?>*?CGI
M?A*^FF\-7R:5J/AB^N1;2Q7AN+>)HS,$88 N8WW;.1P0#G&OX9_;:L?$W[*/
MB[XPQ^%9;;5O"GVJWU?PE-?@26UY X#0-.(^X9&#>7T;I0!]-45RWPI\<K\4
M/A?X/\9)9G3E\1:-9ZN+-I/,, N($E\O?@;MN_&<#.,X%=30 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M!S_Q#T.\\3> /$VCZ?-]FO\ 4-,NK2WFSCRY)(F1&_ D&OA/_@FW^T9\./A'
M^SC+X!\?>*=)\ ^+_"VJWT.HZ7XBNH[*=BTID#(KD&3&[80N6!0\8*Y_0RN*
M\3?!+X=^-=<CUKQ#X!\,:]K$>-FH:GHUM<W"XZ8D="PQ@=Z /AGXE?$SPY\/
M?^"C?PN^,'B#4U@^&7C+P4D.C>)KF,I:Q-(CLNXL T8(DC)+ 8%P,X ;%O\
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
MB?,"],=:]8N+>*Z@D@GC2:&12CQR*&5E(P00>H([5R'A/X*_#WP%K$VK>&?
M?AGPYJLP(EOM)T>WM9WSG.YXT#'.3U/>@#X9_8)^,W@;X W_ ,>O"7Q(\4Z7
MX&\0V_C:\U V6O7"VCRP,JA7BWX\S.PD!,D@J0,,"?//@Q9W%U_P3E_:D\3"
MWECT;Q%KFIW^EW$J%/M,'[E?,4'G&X,OU5AVK]*_%_P9^'_Q"U*#4?%/@7PU
MXEU"  17>L:1;W<L8'0*\B$C'L:V]0\)Z'J_AN7P]?Z-I][H$L'V:32KBU22
MU>+&/+,1&TK@?=QB@#\F/''CK7?V,=-^$OQ4\,VDCV?Q)^#]CH4XMU_U>K0:
M? +:Y89&2 ;<#OM67&>E=G\+_@V/@+^VM^Q_X.DB\O4K;P9J-SJ61\QO)K;4
M99\D\G#NRC/91TZ5^D>K?"_P;KVCZ+I.I^$M"U'2M%:)]+L;O3898+!HUVQ&
M!&4K$47Y5*@8' Q5R^\#^'-2\4Z=XFO/#^EW?B338WALM8GLHWO+5'!#I%,5
MWHK!F!"D ACGK0!\$?LC_%7P?\ _VFOVJM#^)'B33? VH:IXNDU>P77KE+1+
MJU>:ZD5XWD(5LI+&P .2'& ><<E^SZ__  D_P)_;X\>:<DDWA7Q1<>(KC2-0
M9&1;N,6]])N4$ XVSQ_B2.H-?HCXT^$/@3XD7%O/XN\%>'?%,UN,0R:UI4%X
MT8_V3(C8_"MK_A%=%/AN3P\='L/[ DMVLWTK[,GV5H&4JT1BQM*$$@KC!!(H
M ^0/V!?VA/AEX4_8[\ Z3J?C_P -6VN:7I-Y<W>C-J]O]NC2*6XFD)M]_F9$
M2E\8^Z,]*^0]"\/_ !G^/7[-_P 8M:M_@3<^)[3XJZP_B*/Q:WB>SMI+.*VF
MS!%'9R#S9%B,<JCD;U?"C&"?U!L_V7?@SILS2VGPC\"VLK1R0M)#X:LD8QNA
M21"1%]UD9E(Z$,0>#7?Z'H.F>%]'M-)T;3K32=*LXQ#;6-C L,$"#HB(H"JH
M] ,4 ?F-^TK\:O\ A?7_  25\.^)YY_/U=+S3].U0DY;[7;R&*1F]"^U9,>D
M@KW;_@II_P H_=9_[A'_ *40U]-Q_ WX<0^$KKPK'\/_  LGAB[N?MMQHJZ+
M;"RFG^7]Z\.S8S_(OS$9^4<\"M[Q/X+\/>-O#\NA>(M!TS7]#EV>9IFJ6<=S
M;/L(9,Q.I4[2 1QP0* /A?\ ;@T6]\$?!WX!?'C18'DU+X;76FS7OE<-)I\Z
M1)*A]076-.>@F;D5UO[!*_\ "YOBI\;/VA9XV:U\4:N-#\/2RKAAIEH @=<\
MJ)"L65X^:(_6OL#6/"VB^(O#\^@ZKI%AJ>ASQ""73+RV26VDC&,(T3 J5X'!
M&.*;X7\)Z'X'T.VT7PYHVG^']&MMWD:?I=K';6\6YBS;8T 5<L23@<DDT ?D
M]^P'I/PZ71?$>N^+OVB=<^%NI:?XXN9H_"EKXWMM'L+^*-;=Q+/:R#,HD;?&
MS9 98PO\)K]=Z\MN/V5O@K=3R3S_  ?\!332,7>23PS9,S,3DDDQ<DGO7J5
M'PS^S+_RDH_:?_Z\]-_]%15Q'[$OQ3\)_LX?&W]HGP+\4?$6G^#/$5UXIDU:
MVN_$%Q':17]L[2%725R%)*LKA2<D2\ X;'Z!:;X'\.:/XDU3Q%8>']+L?$&J
MJBZAJUM91QW5X$ ""64*&D"@ #<3@ 8K.\;_  E\#_$QK<^,/!GA_P 5FVX@
M.N:7!>>5_N^:C;>IZ4 ?&/[*NJVWQL_X**?&KXO>$HFO/A_%H,/AR'7%C(AO
MKL?8BQC8@;L"V?IGY?+/ 8"K7[)^J6FA_MO_ +8&HW\Z6MC9S6-Q<3R'"QQH
MDS,Q]@ 3^%?<&A>']+\+Z7#INC:;9Z1IT Q%9V,"00QCT5%  _ 5E+\,_!ZW
M?B*Z7PIH:W/B2+R-;F&G0[]4CVE-ERVW,R[69</D88CO0!^4/A?2_C#^T=\(
M_CMXETCX$W'C/3?B_J37=IXFD\36=F]E!9RLMI&EK)^\D\ED9>&7?MVCIDZ/
M[1WQH/QR_P""3?@35[J<SZUI>OV>B:IN;<_VBVBF3<_^T\?E2'_KI7ZP^'O#
MFD^$=%M-'T+2[+1=(M$\NWL-/MT@@A7).U(T 51DDX [URTGP'^&DWA^\T&3
MX=^%'T.\O/[1N=,;1+8VT]UC'GO%LVM)CC>1N]Z +?@?XQ> OB=<75OX.\;^
M'/%D]JBR7$6AZM;WK0J3@,XB=BH)!P3Z5\)_M3>&?&'B[_@J)\.--\">,U\
M^)I/ #M;ZXVF1:B(@LVHED,,ORD, 5SU&<@'%?=G@?X.^ OAC<75QX.\$>'/
M"<]TBQW$NAZ3;V33*#D*YB12P!)P#ZUJ7'@?PY=>+K;Q5/X?TN;Q/:VQLX-;
MDLHVO8H"6)B28KO5"68[0<?,>.: /S9_9RF@T_\ 9G_;.T3Q0ETWQJM-/UK_
M (2Z^O;GS&U "SNA!+$NU0L0)F  !^\#G#*J[W_!.#2/AUI/@KX6:W/^T5K@
M\6-'<1#X9W/C>V_LWS9&FB6(:81OSAQ(JYSOVM[5]]R_"WP7/K&N:M+X0T&3
M5-=M38ZM?-ID)GU"W*A3#</MW2QE0!M<D8 &*Y_0_P!FOX1>&=7L]5T?X5^"
M=*U2SE6:VOK'P[9PSP2*<JZ.L896!Z$'- 'S#^V)_P GY_LE_P#7YJ/\HJK?
M\%&[V/P;\=/V5O'NKA[3PCX?\3W*ZKJI0M%9^:]FR%R!P"L,I^B&OM36/ _A
MSQ#KFD:WJOA_2]3UG1V=M-U&\LHY;BQ+@!S#(REHRP SM(S@9J[K>@Z;XFTN
M?3=8TZUU73KA=LUG?0+-#(/1D8$$?44 ? '[27Q+\*?M!?MJ?LK:7\-_$6F^
M-KCP_JE[JNIR:'<K=0VMN3:N&>1"5!VV\N5SD84'&X9XGQ9X-^*/C+_@H]^T
M?#\)O'B^!?$UMX9L)MSZ;#=C4%^PV(6VWRY\C+%3YJ@D8Z5^C/@GX4^"?AHL
MZ^$/!V@>%1<?ZX:)ID%GYG^]Y2KG\:OV/@?PYIOBG4?$UGX?TNT\2:E&D-[K
M$%E&EY=(@ 1)9@N]U4*H 8D *,=* /RMM=2\+WG_  1S^)5KH=G=Z?X@M-8M
MD\40ZA<&:Y?5/[3L?,F<D @.@BP,<;=I+%2QW_VMK&?]G_P7XEUR/S!X,^,_
M@B&TO^I2W\0V]NCQ2'G ^T0B0<#+.I)-?HY)\%_A]+I_B"P?P)X9>Q\0S+<Z
MS:MH]N8M2E5]ZR7*[,3,'^8,^2#SUK4\3^ ?#'C;P^N@^(O#FDZ_H:E"-,U2
MQBN;8%/N?NG4K\O;CCM0!Q'[)W_)K/P;_P"Q,T;_ -(8:]5J"QL;;2[&WLK*
MWBM+.WC6&&W@0)'$B@!451P%    X %3T %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5\+:A_P4$^,UG?W
M,$?['_CR:.*5D63S+OY@"0#\M@R\^S$>A/6ONFBO0PE>A1YO;T54OM=R5ON:
M)DF]G8^#9/\ @H;\9_+;?^R-XUL$P<W=TU^8H1_?<+IV2J]3CG -5X_VC/B%
M\(?L/B+1[Z]^/EYXLB-[)X4T[S2_&#]JTX0Q3&&V12D;1LI4Y1MXD+F3[ZKC
M_!?PA\&_#O7-?UCPWX>L](U/79O/U"XMU.9FR3@ DA%W,[[$PI=W;&YF)]BG
MF67QA./U1*_2[=_5MW7_ &[O^*Y9T:LIQDIV2_$^/_\ AX9\:?\ HSOQY_WW
M>_\ RNKUK]G7]JCXA?&?7==L/%'P#\4?#2VT_36O;>^U9YC'=RAE46Z^9;1'
M>0Q(V[N%.0.,_2U%<-;&8.I3<:>%46^O--V^3=CH497UD?%_AGQ1_P 6F^'W
MQ?\ $][\2M?U+Q4--U2]UOPOXC2'2=&EN9H(HK,Z;)=QPM"K2+"V+:9B!([L
M9#NKJ?!W[4GC#QC\0K;[#H5Q>^%KGQ1=>'CIEMX-U<S6EO#/+:M?/K'_ !XN
M/.AWM$JC8CE3(7C(;U*;]E_X<2:Q+?KI&H6T4VHQZM+I-IKNH0:3)=I(DHE?
M3TG%JQ,D:2-F(AG&YLDDG7L?@=X3TOQI<>*-/36=,U&XNVOY[6P\0ZA;Z=-<
M, 'E>QCG%LS/C<Q,1WL2S98DUXIH>-Q_M#_$&PN)_$VJ)X8'@FU\?77@R32[
M6QN3J,T(NY+6&Z6X,_EHXD\H-$86#!&82)O"1N_9]_:8\9_%CQ%X1GO]#FF\
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
M:IKWA3QAI_C/1--\?:387>DWMY)X=EFTN_M+B2*0I]D^VK+&Z/;PE7%P<?O
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
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** (KJ9K>UFE2,S.B,RQKU8@9P
M/K7*Z3XGU6_TG4+Z-+/4!"G[N*S#;_,VJVTC+;A\Q'&#\O3GCJ[B-Y+>5(I/
M)D92%D"@[#C@X/!Q7$-X-U/5I-0DOGMK::2,QK)"2WGD^6<OP/DRAPO;>WX@
M&A;^+IUTG5KN0V]\MHBM#<VJLL4K,OW.2>5; )![] >*67Q)?VANK*46TFHI
M<6\$<B(RQ'S>Y4L3QA^_.!TS2S>%[O5(M7DNFM[2>]ACA2*W8O&NS)5V)5<G
M)QTX [TDWAO4+LW-[*;6/47N+>>.-'9HAY0X!;:#SENW&1UH U]!U*748+E;
M@1_:+6X>W=H@0K%3P0"3C((XR:L7VK6.E[/MEY;VGF9V>?*J;L8SC)YZC\ZK
MZ#ILNG07+7!C^T75P]PZQ$E5+'A02!G  YP*YCXO:+!?>&VU"1Y!-8_ZM5(V
MG>Z*=W'H.Q% '=45QW@"U.K^$;"[O+F]GN)#(6D-Y,"<2,!T;T KH?[#M_\
MGI>=<_\ '[-_\70!H45G_P!AV_\ STO.N?\ C]F_^+H_L.W_ .>EYUS_ ,?L
MW_Q= &A16?\ V';_ //2\ZY_X_9O_BZ/[#M_^>EYUS_Q^S?_ != &A16?_8=
MO_STO.N?^/V;_P"+H_L.W_YZ7G7/_'[-_P#%T :%%9_]AV__ #TO.N?^/V;_
M .+H_L.W_P">EYUS_P ?LW_Q= &A16?_ &';_P#/2\ZY_P"/V;_XNC^P[?\
MYZ7G7/\ Q^S?_%T :%%9_P#8=O\ \]+SKG_C]F_^+H_L.W_YZ7G7/_'[-_\
M%T :%%9_]AV__/2\ZY_X_9O_ (NC^P[?_GI>=<_\?LW_ ,70!H45G_V';_\
M/2\ZY_X_9O\ XNC^P[?_ )Z7G7/_ !^S?_%T :%%9_\ 8=O_ ,]+SKG_ (_9
MO_BZ/[#M_P#GI>=<_P#'[-_\70!H45G_ -AV_P#STO.N?^/V;_XNC^P[?_GI
M>=<_\?LW_P 70!H45G_V';_\]+SKG_C]F_\ BZ/[#M_^>EYUS_Q^S?\ Q= &
MA16?_8=O_P ]+SKG_C]F_P#BZ/[#M_\ GI>=<_\ '[-_\70!H45G_P!AV_\
MSTO.N?\ C]F_^+H_L.W_ .>EYUS_ ,?LW_Q= &A16?\ V';_ //2\ZY_X_9O
M_BZ/[#M_^>EYUS_Q^S?_ != &A16?_8=O_STO.N?^/V;_P"+H_L.W_YZ7G7/
M_'[-_P#%T :%%9_]AV__ #TO.N?^/V;_ .+H_L.W_P">EYUS_P ?LW_Q= &A
M16?_ &';_P#/2\ZY_P"/V;_XNC^P[?\ YZ7G7/\ Q^S?_%T :%%9_P#8=O\
M\]+SKG_C]F_^+H_L.W_YZ7G7/_'[-_\ %T :%%9_]AV__/2\ZY_X_9O_ (NC
M^P[?_GI>=<_\?LW_ ,70!H45G_V';_\ /2\ZY_X_9O\ XNC^P[?_ )Z7G7/_
M !^S?_%T :%%9_\ 8=O_ ,]+SKG_ (_9O_BZ/[#M_P#GI>=<_P#'[-_\70!H
M45G_ -AV_P#STO.N?^/V;_XNC^P[?_GI>=<_\?LW_P 70!H45G_V';_\]+SK
MG_C]F_\ BZ/[#M_^>EYUS_Q^S?\ Q= &A16?_8=O_P ]+SKG_C]F_P#BZ/[#
MM_\ GI>=<_\ '[-_\70!H45G_P!AV_\ STO.N?\ C]F_^+H_L.W_ .>EYUS_
M ,?LW_Q= &A16?\ V';_ //2\ZY_X_9O_BZ/[#M_^>EYUS_Q^S?_ != &A16
M?_8=O_STO.N?^/V;_P"+H_L.W_YZ7G7/_'[-_P#%T :%%9_]AV__ #TO.N?^
M/V;_ .+H_L.W_P">EYUS_P ?LW_Q= &A16?_ &';_P#/2\ZY_P"/V;_XNC^P
M[?\ YZ7G7/\ Q^S?_%T :%%9_P#8=O\ \]+SKG_C]F_^+H_L.W_YZ7G7/_'[
M-_\ %T :%%9_]AV__/2\ZY_X_9O_ (NC^P[?_GI>=<_\?LW_ ,70!H45G_V'
M;_\ /2\ZY_X_9O\ XNC^P[?_ )Z7G7/_ !^S?_%T :%%9_\ 8=O_ ,]+SKG_
M (_9O_BZ/[#M_P#GI>=<_P#'[-_\70!H45G_ -AV_P#STO.N?^/V;_XNC^P[
M?_GI>=<_\?LW_P 70!H45G_V';_\]+SKG_C]F_\ BZ/[#M_^>EYUS_Q^S?\
MQ= &A16?_8=O_P ]+SKG_C]F_P#BZ/[#M_\ GI>=<_\ '[-_\70!H45G_P!A
MV_\ STO.N?\ C]F_^+H_L.W_ .>EYUS_ ,?LW_Q= &A16?\ V';_ //2\ZY_
MX_9O_BZ/[#M_^>EYUS_Q^S?_ != &A16?_8=O_STO.N?^/V;_P"+H_L.W_YZ
M7G7/_'[-_P#%T :%%9_]AV__ #TO.N?^/V;_ .+H_L.W_P">EYUS_P ?LW_Q
M= &A16?_ &';_P#/2\ZY_P"/V;_XNC^P[?\ YZ7G7/\ Q^S?_%T :%%9_P#8
M=O\ \]+SKG_C]F_^+H_L.W_YZ7G7/_'[-_\ %T :%%9_]AV__/2\ZY_X_9O_
M (NC^P[?_GI>=<_\?LW_ ,70!H45G_V';_\ /2\ZY_X_9O\ XNC^P[?_ )Z7
MG7/_ !^S?_%T :%%9_\ 8=O_ ,]+SKG_ (_9O_BZ/[#M_P#GI>=<_P#'[-_\
M70!H45G_ -AV_P#STO.N?^/V;_XNC^P[?_GI>=<_\?LW_P 70!H45G_V';_\
M]+SKG_C]F_\ BZ/[#M_^>EYUS_Q^S?\ Q= &A16?_8=O_P ]+SKG_C]F_P#B
MZ/[#M_\ GI>=<_\ '[-_\70!H45G_P!AV_\ STO.N?\ C]F_^+H_L.W_ .>E
MYUS_ ,?LW_Q= &A16?\ V';_ //2\ZY_X_9O_BZ/[#M_^>EYUS_Q^S?_ !=
M&A16?_8=O_STO.N?^/V;_P"+H_L.W_YZ7G7/_'[-_P#%T :%%9_]AV__ #TO
M.N?^/V;_ .+H_L.W_P">EYUS_P ?LW_Q= &A16?_ &';_P#/2\ZY_P"/V;_X
MNC^P[?\ YZ7G7/\ Q^S?_%T :%%9_P#8=O\ \]+SKG_C]F_^+H_L.W_YZ7G7
M/_'[-_\ %T :%%9_]AV__/2\ZY_X_9O_ (NC^P[?_GI>=<_\?LW_ ,70!H45
MG_V';_\ /2\ZY_X_9O\ XNK=O;I:Q[$,C+DG]Y(SGGW8DT 2T444 %%%% !1
M110 4444 %%%% !7*_%#_D1=3_[9?^C4KJJY7XH?\B+J?_;+_P!&I0 ?"_\
MY$73/^VO_HUZZJN5^%__ "(NF?\ ;7_T:]=50 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %<K\4/^1%U/\ [9?^C4KJJY7XH?\ (BZG_P!LO_1J4 'PO_Y$73/^VO\
MZ->NJKE?A?\ \B+IG_;7_P!&O754 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !7*_%#
M_D1=3_[9?^C4KJJY7XH?\B+J?_;+_P!&I0 ?"_\ Y$73/^VO_HUZZJN5^%__
M "(NF?\ ;7_T:]=50 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !114
M-Y>6^G6LUU=SQVUM"I>2:9PB(HY)9CP /4T 345\F?%K_@IM\%_AK>RZ7I.I
M7?C_ %Q7\I;/PS")HC)G 7SV(C8$]XR_TKSV/]KS]JWXHX?X=_LX+H=I)S'<
M>+)G4,O]X&5K4<CGC/XU[E/)<;.*J3BH1?6;4?S:?X&;J1VW/O6BO@[_ (2#
M]OR;_2O^$9\!P?\ 3EYL)_7SS_Z%4<G[3?[8OPQW2>-OV?=/\564?S&3PM,S
M2,O?_527&/\ O@?2M/[%J2TIUJ<GV4U?\;"]HNJ9]ZT5\:>'OVJ_B+\<-!T;
MQAX+T-?!FBVZ^<=+UP1SR:VX;#Q;P,P1  A9!\Q8Y*[5PWTW\*_B?I7Q:\)I
MK6F+);R1RM:7UA<<365TF/,@DQQN7(Y'!!4C((KDQ668G!04ZR\GUL^S_K\3
M.GB:5:3A!W:.PHHHKRCI"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@"O?X-C<@S_91Y;9GSCR^#\V?;K^%<7X
M3L+"WO;G3KS3X#-.I421MYD$ZHL1.00,G+!LE?XC@]:[J1%D1D=0Z,,%6&01
MZ&LK2_"NG:/+<26\;[YEV$R2LVU, ;%R>!P.GH/08 .6CM8;3P;K6KV<,=HU
M_G8($"!(=VQ0,#KMRV?4^U%];QV>H7NE01+%IDE]8H\"#"88?,,=L[5SZY/J
M:[8:;;#31I_DJ;,1"$1-DC8!C'/M55?#.G)8S6GD,T,S*[EY79RPQM.\G=D;
M1CGC'% %3PB/*AU.W1=D$%_+'"B]%7@X [ $GBN?^,6N?8-"CTWR/,_M#/[S
M?CR]C(W3'.<^HKM[&P@TVW$-NA2/<6.YBQ+$Y))))))/4FN=^*'_ "(NI_\
M;+_T:E %/X;:K#;>"M.C=+DL#(,QVLKCF1SU52*Z;^W+?_GG>=<?\>4W_P 1
M6+\+_P#D1=,_[:_^C7KJJ ,_^W+?_GG>=<?\>4W_ ,11_;EO_P \[SKC_CRF
M_P#B*T** ,_^W+?_ )YWG7'_ !Y3?_$4?VY;_P#/.\ZX_P"/*;_XBM"B@#/_
M +<M_P#GG>=<?\>4W_Q%']N6_P#SSO.N/^/*;_XBM"B@#/\ [<M_^>=YUQ_Q
MY3?_ !%']N6__/.\ZX_X\IO_ (BM"B@#/_MRW_YYWG7'_'E-_P#$4?VY;_\
M/.\ZX_X\IO\ XBM"B@#/_MRW_P">=YUQ_P >4W_Q%']N6_\ SSO.N/\ CRF_
M^(K0HH S_P"W+?\ YYWG7'_'E-_\11_;EO\ \\[SKC_CRF_^(K0HH S_ .W+
M?_GG>=<?\>4W_P 11_;EO_SSO.N/^/*;_P"(K0HH S_[<M_^>=YUQ_QY3?\
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
M2JT7C, [P7Q1?Q0]>\>TOOU+C)I\LMSZ._MRW_YYWG7'_'E-_P#$4?VY;_\
M/.\ZX_X\IO\ XBM"BO -3/\ [<M_^>=YUQ_QY3?_ !%']N6__/.\ZX_X\IO_
M (BM"B@#/_MRW_YYWG7'_'E-_P#$4?VY;_\ /.\ZX_X\IO\ XBM"B@#/_MRW
M_P">=YUQ_P >4W_Q%']N6_\ SSO.N/\ CRF_^(K0HH S_P"W+?\ YYWG7'_'
ME-_\11_;EO\ \\[SKC_CRF_^(K0HH S_ .W+?_GG>=<?\>4W_P 11_;EO_SS
MO.N/^/*;_P"(K0HH S_[<M_^>=YUQ_QY3?\ Q%']N6__ #SO.N/^/*;_ .(K
M0HH S_[<M_\ GG>=<?\ 'E-_\11_;EO_ ,\[SKC_ (\IO_B*T** ,_\ MRW_
M .>=YUQ_QY3?_$4?VY;_ //.\ZX_X\IO_B*T** ,_P#MRW_YYWG7'_'E-_\
M$5;M[A+J/>@D5<D?O(V0\>S &I:* "BBB@ HHHH **** "BBB@ HHHH *Y7X
MH?\ (BZG_P!LO_1J5U5<K\4/^1%U/_ME_P"C4H /A?\ \B+IG_;7_P!&O755
MROPO_P"1%TS_ +:_^C7KJJ "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "LCQ9XLT?
MP)X;U'Q!X@U&WTC1=.A:>ZO;I]L<2#N3Z]  .22 ,DT>+/%FC^!/#>H^(/$&
MHP:3HNG0M<75[<MM2)!U)]3V ')) &2:_/.&'QA_P5&^(YGG-_X2_9Q\/7G[
MN'F.XUN9#U/JQ'?E8E.!ER37K8' _6N:M6ER4H?%+]%WD^B,Y2Y=%N,U35/B
M%_P5"\:3:;HDM_X%_9VTFZV7-^R[+C69%.< =&;N$Y2/(9MS;5K[Z^%WPK\+
M_!GP78>%/!^DPZ/HMFOR0Q#+2,<;I)&/+NV.6.2:U_"OA72/ _AS3M T#3K?
M2=&T^%8+6RM4VQQ(.@ _4D\DDD\FM6JQV8/$15"C'DHQVC^LN\GW^X(QMJ]P
MHHHKQS0**** "BBB@ HHHH *^0_VU_V0=0^)%Q9?%3X63-X?^,7AW;<6UQ9D
M1'4U0<1.>AD R%9N&!V-E2-OUY17;@\75P-95J3U7W-=4UU3)E%25F?.?[%_
M[6UG^TUX+N;;5;==$^(F@G[-KNB2*8W5P=OG(C?,$+ @J>48%3_"6^C*^%OV
MVOV>_$?P[\96O[2/P9B-GXRT/]]XATRW4[-4M0/WDC(/O':,2+_$HW##)D_3
M?[.?Q^\._M)?"W3/&7AV38LP\F]L78&6QNE \R%_ID$'^)2I[UZ./PM*5-8[
M!K]W+1K^279^3^R^Q$9._++<].HHHKP34**** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "N5^*'_(BZG_VR_P#1
MJ5U5<K\4/^1%U/\ [9?^C4H /A?_ ,B+IG_;7_T:]=57*_"__D1=,_[:_P#H
MUZZJ@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "JFK:M9:#I=WJ6HW4-CI]G$T]Q=7#A(X
MHU!+.S'@  $D^U66=8U9F(55&2Q. !ZU^=7Q>^(_B;_@H?\ %BY^#GPQOI=+
M^$6BS*_BKQ5"/EO=K<1QG^)=RG8O\;+O/R*#7IX# O&3;D^6G'64NB7ZM]%U
M9$I<OJ4=0U+Q%_P5$^,,ND:?->Z!^SKX4NP;JY3,<NM7"] /]IA]T'_5H=Q&
M]@M?H?X5\*Z1X'\-Z=H&@:=!I.C:="MO:V=LFV.)!T 'ZDGDDDGDUF?#'X9^
M'/@_X'TKPCX4TZ/3-$TV+RX84Y9CU9W;JSL<LS'DDFNIK7,,<L2XT:"Y:,/A
M7ZOO)]?N%&/+J]PHHHKQS0**** "BBB@ HHHH **** "BBB@!&4,I!&0>"#7
MYQ?$G0]0_P"";O[1EM\0_#4%Q)\#/&UT+?Q!I,"%TTRX))!11TQEGC]O,CX^
M4U^CU<O\3OAKH'Q?\!ZUX/\ $]F+[1=6@,$\><,O=70_PNK ,I[%0:];+L:L
M)4<:JYJ4])+NNZ\UNGW(G'F6FYN:/K%EX@TFRU33;J.]TZ]@2YMKF%MR2Q.H
M9'4]P001]:N5\!_L3_$;7_V;_C!K/[+WQ'O#-]G9KOP?JTS82YMVRXA4GLPW
M.H_A994SPHK[\K/,,&\#6]G>\7K%]XO9_P"?F$9<RN%%%%>:6%%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !14<\R6T,DTC;8XU+L
MWH ,DUBV?C"UNK>ZN)+:ZM+>WC\UIIXQM(P#@%2><,ORG!YZ=: -ZBLF/Q$B
MV5W<W5G=Z>EM&)&%RBC<I!/RE203QC&<@XXY%1?\)5;K:W$DEM<PSPR1Q&T=
M5\UF?&P##$'.?7C!SC!H VZY7XH?\B+J?_;+_P!&I6]I>IQZK;M)&CQ-'(T4
MD4@&Y'4X(."1^1(YK!^*'_(BZG_VR_\ 1J4 'PO_ .1%TS_MK_Z->NJKE?A?
M_P B+IG_ &U_]&O754 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !117R7^W1^U9J'PITW3_ (;?
M#A9-5^,'BPK;:=:6:AY+&)R5\\CH')R$!XX9CPN#V83"U<;6C0I+5_<EU;\E
MU)E)15V<'^V1\>_$_P 9?B1#^S/\&K@-KNI@Q^*==A8^7IUMQYL)=?NX4_O"
M.>1&,LQ ^IOV?/@'X9_9O^&>G>#O#$/[F'][=WTB@37UP0-\TA]3@ #HH 4<
M"N%_8U_90TW]F+X?E;MUU7QYK6+G7]:9B[RRG+>4C'GRT)/)Y9B6/4 ?0E>E
MF&+I*"P.$_A1W?\ /+^9^7\JZ(B,7\4MPHHHKP34**** "BBB@ HHHH ****
M "BBB@ HHHH **** /EC]OO]F>[^-WPZM/%/A$26OQ,\%O\ VGHES:@":<(0
M[0!NN[*AT]'4#C<:[#]C+]I2U_:=^"^G^()#'#XFL2+#7;- %\JZ51EPO9)!
MAU],E>2IKW>OSI^,%C/^P!^UY8?%3287C^$GQ$G^Q>([2%!Y=E=,2Q=0.G.9
ME]O/08&*^FP3_M+#/+Y?'&\J?_MT/GNO/U,9>X^;IU/T6HJ*UNH;ZUAN;::.
MXMYD$D<T3!D=2,AE(X((.<BI:^9-@HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH AO-WV2;9"MPVQL0L0 YQ]TD] >E><0V=[J%KJM
MGIL%Y#:[=\EO<@G9(!$51&<9+<.",[<!?7GTVB@#AKBQO=0TW78;-;Z2Q:&,
MP1WWF>:TH^9POF?-@@*.>,YQWHO+>XOKR[U:*TNO(6\LY!$T++*RQ@[R$(R<
M;_3G:<5W-% &)X6@DCAU">2.2);J]DGC652K;#@ E3R,[<X//-<W\8M/OKC0
MH[J"Y\JRM\_:8=[#S=S($X'!P>>>E=_7*_%#_D1=3_[9?^C4H I_#:QFF\%:
M<Z:A<P*3(?+C6(@?O'X^9"??K73?V;<?]!:\ZY^Y#^7^KK%^%_\ R(NF?]M?
M_1KUU5 &?_9MQ_T%KSKG[D/Y?ZNC^S;C_H+7G7/W(?R_U=:%% &?_9MQ_P!!
M:\ZY^Y#^7^KH_LVX_P"@M>=<_<A_+_5UH44 9_\ 9MQ_T%KSKG[D/Y?ZNC^S
M;C_H+7G7/W(?R_U=:%% &?\ V;<?]!:\ZY^Y#^7^KH_LVX_Z"UYUS]R'\O\
M5UH44 9_]FW'_06O.N?N0_E_JZ/[-N/^@M>=<_<A_+_5UH44 9_]FW'_ $%K
MSKG[D/Y?ZNC^S;C_ *"UYUS]R'\O]76A10!G_P!FW'_06O.N?N0_E_JZ/[-N
M/^@M>=<_<A_+_5UH44 9_P#9MQ_T%KSKG[D/Y?ZNC^S;C_H+7G7/W(?R_P!7
M6A10!G_V;<?]!:\ZY^Y#^7^KH_LVX_Z"UYUS]R'\O]76A10!G_V;<?\ 06O.
MN?N0_E_JZ/[-N/\ H+7G7/W(?R_U=:%% &?_ &;<?]!:\ZY^Y#^7^KH_LVX_
MZ"UYUS]R'\O]76A10!G_ -FW'_06O.N?N0_E_JZ/[-N/^@M>=<_<A_+_ %=:
M%% &?_9MQ_T%KSKG[D/Y?ZNC^S;C_H+7G7/W(?R_U=:%% &?_9MQ_P!!:\ZY
M^Y#^7^KH_LVX_P"@M>=<_<A_+_5UH44 9_\ 9MQ_T%KSKG[D/Y?ZNC^S;C_H
M+7G7/W(?R_U=:%% &?\ V;<?]!:\ZY^Y#^7^KH_LVX_Z"UYUS]R'\O\ 5UH4
M4 9_]FW'_06O.N?N0_E_JZ/[-N/^@M>=<_<A_+_5UH44 9_]FW'_ $%KSKG[
MD/Y?ZNC^S;C_ *"UYUS]R'\O]76A10!G_P!FW'_06O.N?N0_E_JZ/[-N/^@M
M>=<_<A_+_5UH44 9_P#9MQ_T%KSKG[D/Y?ZNC^S;C_H+7G7/W(?R_P!76A10
M!G_V;<?]!:\ZY^Y#^7^KH_LVX_Z"UYUS]R'\O]76A10!G_V;<?\ 06O.N?N0
M_E_JZ/[-N/\ H+7G7/W(?R_U=:%% &?_ &;<?]!:\ZY^Y#^7^KH_LVX_Z"UY
MUS]R'\O]76A10!G_ -FW'_06O.N?N0_E_JZ/[-N/^@M>=<_<A_+_ %=:%% &
M?_9MQ_T%KSKG[D/Y?ZNC^S;C_H+7G7/W(?R_U=:%% &?_9MQ_P!!:\ZY^Y#^
M7^KH_LVX_P"@M>=<_<A_+_5UH44 9_\ 9MQ_T%KSKG[D/Y?ZNC^S;C_H+7G7
M/W(?R_U=:%% &?\ V;<?]!:\ZY^Y#^7^KH_LVX_Z"UYUS]R'\O\ 5UH44 9_
M]FW'_06O.N?N0_E_JZ/[-N/^@M>=<_<A_+_5UH44 9_]FW'_ $%KSKG[D/Y?
MZNC^S;C_ *"UYUS]R'\O]76A10!G_P!FW'_06O.N?N0_E_JZ/[-N/^@M>=<_
M<A_+_5UH44 9_P#9MQ_T%KSKG[D/Y?ZNC^S;C_H+7G7/W(?R_P!76A10!G_V
M;<?]!:\ZY^Y#^7^KH_LVX_Z"UYUS]R'\O]76A10!G_V;<?\ 06O.N?N0_E_J
MZ/[-N/\ H+7G7/W(?R_U=:%% &?_ &;<?]!:\ZY^Y#^7^KH_LVX_Z"UYUS]R
M'\O]76A10!G_ -FW'_06O.N?N0_E_JZ/[-N/^@M>=<_<A_+_ %=:%% &?_9M
MQ_T%KSKG[D/Y?ZNC^S;C_H+7G7/W(?R_U=:%<Q\2OB1H'PC\#:QXN\47RZ=H
MFEP&>>9N2>RHH_B=F(55'4D"KA&522A!7;V \N_:R_:(TS]EGX4W?B?4=5N+
MW6+AC;Z/I),*M>7!' /[O(C7[SMV&!U8 ^2?L0_LN>(K/4K_ ..GQ4O;B?XJ
M^+ ;A(Y(X]VFVT@X3:RG9(R[1M&-B (,?,*X7]F?X;:]^VQ\;)OVB/B?ITD'
M@K3I3%X*\-W1W1X1SMF*XPRJPR6_CDS_  H ?T-KZ3%3CE=!X&D[U)?Q'V_N
M+T^UW>G0QC[[YGMT,_\ LVX_Z"UYUS]R'\O]71_9MQ_T%KSKG[D/Y?ZNM"BO
MF#8S_P"S;C_H+7G7/W(?R_U=']FW'_06O.N?N0_E_JZT** ,_P#LVX_Z"UYU
MS]R'\O\ 5T?V;<?]!:\ZY^Y#^7^KK0HH S_[-N/^@M>=<_<A_+_5T?V;<?\
M06O.N?N0_E_JZT** ,_^S;C_ *"UYUS]R'\O]71_9MQ_T%KSKG[D/Y?ZNM"B
M@#/_ +-N/^@M>=<_<A_+_5T?V;<?]!:\ZY^Y#^7^KK0HH S_ .S;C_H+7G7/
MW(?R_P!71_9MQ_T%KSKG[D/Y?ZNM"B@#/_LVX_Z"UYUS]R'\O]71_9MQ_P!!
M:\ZY^Y#^7^KK0HH S_[-N/\ H+7G7/W(?R_U=']FW'_06O.N?N0_E_JZT**
M,_\ LVX_Z"UYUS]R'\O]77!_'+X&:;\>/A;KW@G7=0N7M-2A(CF:*$FWF7YH
MI5_=@Y5@#P02,C.":],HK2G4G1G&I3=FG=>HGKHSX:_X)W_%;7[>'Q%\ ?'F
MHW&G^.?A_(UO;19B87-@I"J$+(2PC)7![QR18Z&OM7^S;C_H+7G7/W(?R_U=
M?#__  4&^'^L_"'QSX/_ &G? EN6UGPS/%:>(;6,D+>63'8K/C^'#-"QZXDC
M/\%?9GPX^(&C_%3P'H7B[P_<?:='UBT2[MY#PP5ARK#LRG*D=BI%>[FE.%=0
MS&BK1J?$OY9KXE\_B7J9P=O<?0U/[-N/^@M>=<_<A_+_ %=']FW'_06O.N?N
M0_E_JZT**^>-3/\ [-N/^@M>=<_<A_+_ %=']FW'_06O.N?N0_E_JZT** ,_
M^S;C_H+7G7/W(?R_U=']FW'_ $%KSKG[D/Y?ZNM"B@#/_LVX_P"@M>=<_<A_
M+_5T?V;<?]!:\ZY^Y#^7^KK0HH S_P"S;C_H+7G7/W(?R_U=']FW'_06O.N?
MN0_E_JZT** ,_P#LVX_Z"UYUS]R'\O\ 5T?V;<?]!:\ZY^Y#^7^KK0HH S_[
M-N/^@M>=<_<A_+_5U;MX7ACVO/)<-DG?(%!^GR@#]*EHH **** "BBB@ HHH
MH **** "BBB@ KE?BA_R(NI_]LO_ $:E=57*_%#_ )$74_\ ME_Z-2@ ^%__
M "(NF?\ ;7_T:]=57*_"_P#Y$73/^VO_ *->NJH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH CN+B*TMY
M9YY4A@B4O))(P544#)))Z #O7YP^)M2U/_@II^T(WA;2KJZM/V?/!-R)=0OK
M?*#6+D9 "GN6Y"?W$W/U=175_ME?&;Q'^T%\3(OV7_A).IOK[_D;=<1LQ65L
M,&2 L.P!'F=R66(<LPKZ[^!_P9\._ 'X9Z/X*\,P>7I^GQ_O)W4"6ZF/,D\A
M'5V//L, 8  KZBBED]!8F7\>:]Q?RQ?VWYO[/WF+_>.W1'7Z+HMCX<T>RTK2
M[2&PTVQA2WMK6W4+'%&BA510.@  %7:**^8;;=V;!1112 **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH S/$WAO3?&7AW4]!UFTCO\ 2=2M
MI+2[M91E98G4JRGZ@FOA+]AWQ)J'[,GQZ\:?LQ>*[MY++SY-6\(WMP0/M$+
MNR#W>,>9@<*\<XZFOT KXP_X*4?!K5=4\%:)\9?!>^W\=?#F==06:$?/)9*X
M>0'GD1D>9@\;?-'\5?0934A4<\!6=H5=$^TU\+^_1^3,JFGO+H?9]%>>?L__
M !DTOX^_"'PWXYTHJD>J6P:XMU;)MKA?EFB/^ZX8#/48/>O0Z\.I3G1G*G45
MFG9^J-$[JZ"BBBLQA1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 5ROQ0_Y$74_P#ME_Z-2NJKE?BA_P B+J?_ &R_]&I0 ?"__D1=
M,_[:_P#HUZZJN5^%_P#R(NF?]M?_ $:]=50 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !7RE^W-^U==?!W0[+P
M!X"235OB[XLQ:Z396:B26S21MGV@K_>)R(P>"P+'A"#Z/^U=^TQH7[+?PKO/
M$^I^7>:K-FWTC2=^U[VY(X'J$7[SMV'N5!\4_8?_ &9M>_MR]^/WQ>=]1^*/
MBA3/:6URF/[)MG&  A^Y(R84+_RS3"\$L*^@P&'I4:?]H8M7@OAC_/+M_A7V
MG\C*3;?)$])_8M_93L_V9?AR?[19-2\?ZYB[\0:NS&1GE.6\E7/)1"3S_$Q9
MCU 'T1117D8G$5<76E7K.\I?U_PQI%**L@HHHKF&%%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !45U:PWUK-;7,,=Q;S(T<L,JAD=
M2,%2#P00<8J6B@#\]OV8+R?]C7]L#Q7\ ]4ED3P-XPD.L^$IYF)5)"#B($\9
M9$:)CW>W3'WZ_0FOD+_@I-\#[[X@?!^T\?>%Q)!XY^'UQ_;5A<VZ_OC A5IE
M7CDKL64>\1'\5>U_LR?'"Q_:(^"?AKQO:>7'<7L'EW]M&?\ CWNT^6:/UP&!
M(SU5E/>OI,R_VW#T\QC\3]V?^)+1_P#;R_%,QA[K<#U*BBBOFS8**** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HJ*Z:5;69H%#SA&,:MT+8X!_&N
M(L_$EY#I&M7%QJC/=V]N2MK<6ZQ21OL7# 8!V[V(Y!' Y]0#O**Y-M>:Q\/Z
MG/'J%Q?7UO&H9+N 0F)V&%.SRT.TDYY'..O6HKC6=0L9KO2S>M-<?:;6&.\>
M- ZK*/F.T+M)&UL<=QG..0#L:Y7XH?\ (BZG_P!LO_1J5I^&[Z>\AO8KB4SR
M6EW);^:R@%P,$$@ #.& X Z5@_%G5+6U\)SV<LNRYN]ODIM)W;9$+<XP,#UH
M M_"_P#Y$73/^VO_ *->NJKB?AMK%A:^"M.BGOK:&13("DDRJ03(Y P3Z5TW
M_"0:7_T$K/KM_P!>G7TZT :%%9__  D&E_\ 02L^NW_7IU].M'_"0:7_ -!*
MSZ[?]>G7TZT :%%9_P#PD&E_]!*SZ[?]>G7TZT?\)!I?_02L^NW_ %Z=?3K0
M!H45G_\ "0:7_P!!*SZ[?]>G7TZT?\)!I?\ T$K/KM_UZ=?3K0!H45G_ /"0
M:7_T$K/KM_UZ=?3K1_PD&E_]!*SZ[?\ 7IU].M &A16?_P )!I?_ $$K/KM_
MUZ=?3K1_PD&E_P#02L^NW_7IU].M &A16?\ \)!I?_02L^NW_7IU].M'_"0:
M7_T$K/KM_P!>G7TZT :%%9__  D&E_\ 02L^NW_7IU].M'_"0:7_ -!*SZ[?
M]>G7TZT :%%9_P#PD&E_]!*SZ[?]>G7TZT?\)!I?_02L^NW_ %Z=?3K0!H45
MG_\ "0:7_P!!*SZ[?]>G7TZT?\)!I?\ T$K/KM_UZ=?3K0!H45G_ /"0:7_T
M$K/KM_UZ=?3K1_PD&E_]!*SZ[?\ 7IU].M &A16?_P )!I?_ $$K/KM_UZ=?
M3K1_PD&E_P#02L^NW_7IU].M &A16?\ \)!I?_02L^NW_7IU].M'_"0:7_T$
MK/KM_P!>G7TZT :%%9__  D&E_\ 02L^NW_7IU].M'_"0:7_ -!*SZ[?]>G7
MTZT :%%9_P#PD&E_]!*SZ[?]>G7TZT?\)!I?_02L^NW_ %Z=?3K0!H45G_\
M"0:7_P!!*SZ[?]>G7TZT?\)!I?\ T$K/KM_UZ=?3K0!H45G_ /"0:7_T$K/K
MM_UZ=?3K1_PD&E_]!*SZ[?\ 7IU].M &A16?_P )!I?_ $$K/KM_UZ=?3K1_
MPD&E_P#02L^NW_7IU].M &A16?\ \)!I?_02L^NW_7IU].M'_"0:7_T$K/KM
M_P!>G7TZT :%%9__  D&E_\ 02L^NW_7IU].M'_"0:7_ -!*SZ[?]>G7TZT
M:%%9_P#PD&E_]!*SZ[?]>G7TZT?\)!I?_02L^NW_ %Z=?3K0!H45G_\ "0:7
M_P!!*SZ[?]>G7TZT?\)!I?\ T$K/KM_UZ=?3K0!H45G_ /"0:7_T$K/KM_UZ
M=?3K1_PD&E_]!*SZ[?\ 7IU].M &A16?_P )!I?_ $$K/KM_UZ=?3K1_PD&E
M_P#02L^NW_7IU].M &A16?\ \)!I?_02L^NW_7IU].M'_"0:7_T$K/KM_P!>
MG7TZT :%%9__  D&E_\ 02L^NW_7IU].M'_"0:7_ -!*SZ[?]>G7TZT :%%9
M_P#PD&E_]!*SZ[?]>G7TZT?\)!I?_02L^NW_ %Z=?3K0!H45G_\ "0:7_P!!
M*SZ[?]>G7TZT?\)!I?\ T$K/KM_UZ=?3K0!H45G_ /"0:7_T$K/KM_UZ=?3K
M1_PD&E_]!*SZ[?\ 7IU].M &A16?_P )!I?_ $$K/KM_UZ=?3K1_PD&E_P#0
M2L^NW_7IU].M &A16?\ \)!I?_02L^NW_7IU].M'_"0:7_T$K/KM_P!>G7TZ
MT :%%9__  D&E_\ 02L^NW_7IU].M'_"0:7_ -!*SZ[?]>G7TZT :%%9_P#P
MD&E_]!*SZ[?]>G7TZT?\)!I?_02L^NW_ %Z=?3K0!H45G_\ "0:7_P!!*SZ[
M?]>G7TZT?\)!I?\ T$K/KM_UZ=?3K0!H45G_ /"0:7_T$K/KM_UZ=?3K1_PD
M&E_]!*SZ[?\ 7IU].M &A7(_%;XJ>&O@KX#U7Q?XLU!=.T;3H][MU>5CPL4:
M_P 3L> OJ>PR:O>(?B!X9\)Z'?ZSJ^O:?I^EV,337-U-<H$C51DD\^W3K7YX
M:6M__P %,/CI'X@U^630OV?/"-V4L-.NIO)?6;@=21D<L/O'^!#L7YF9J]C+
M\#'$.5:N^6C#XG^45_>?3[S.4K:+<Z/]F?X7>(OVTOC,_P"T/\5M/>#P?8R;
M/!?AFZ.Z((C?+,5(PR*1NW$?O),G[J*#^AE9%CJ>A:996]G9W>G6EI;HL$-O
M!)&D<2J,*BJ#@  8 '0"I_\ A(-+_P"@E9]=O^O3KZ=:QQ^-EC:B=N6$5:,>
MB7;_ #?5CC'E1H45G_\ "0:7_P!!*SZ[?]>G7TZT?\)!I?\ T$K/KM_UZ=?3
MK7FEFA16?_PD&E_]!*SZ[?\ 7IU].M'_  D&E_\ 02L^NW_7IU].M &A16?_
M ,)!I?\ T$K/KM_UZ=?3K1_PD&E_]!*SZ[?]>G7TZT :%%9__"0:7_T$K/KM
M_P!>G7TZT?\ "0:7_P!!*SZ[?]>G7TZT :%%9_\ PD&E_P#02L^NW_7IU].M
M'_"0:7_T$K/KM_UZ=?3K0!H45G_\)!I?_02L^NW_ %Z=?3K1_P )!I?_ $$K
M/KM_UZ=?3K0!H45G_P#"0:7_ -!*SZ[?]>G7TZT?\)!I?_02L^NW_7IU].M
M&A16?_PD&E_]!*SZ[?\ 7IU].M'_  D&E_\ 02L^NW_7IU].M &A16?_ ,)!
MI?\ T$K/KM_UZ=?3K1_PD&E_]!*SZ[?]>G7TZT :%%9__"0:7_T$K/KM_P!>
MG7TZT?\ "0:7_P!!*SZ[?]>G7TZT :%%9_\ PD&E_P#02L^NW_7IU].M'_"0
M:7_T$K/KM_UZ=?3K0!H45G_\)!I?_02L^NW_ %Z=?3K1_P )!I?_ $$K/KM_
MUZ=?3K0!H45G_P#"0:7_ -!*SZ[?]>G7TZT?\)!I?_02L^NW_7IU].M %V:%
M+B%XI462)U*LCC*L#P01W%?GM^SG(_[&'[:WBKX*WK-!X!\=M_:_A=Y#^[BG
M.=L0..I"O">Y,,7]ZOOS_A(-+_Z"5GUV_P"O3KZ=:^2?^"D/PJ@^)GP;@\9^
M&=0MX_'/@&X_MC39[:9?.:-2&FC7&3N 19 .N8@.]>]E%:#J2P=9VA57*_)_
M9E\G^#9E46G,MT?8U%>/_LS_ +0VC?'SX)^&?&7VVTM;^[@$.H6IE53!>)\L
MJ8/(&X%E]593WKU#_A(-+_Z"5GUV_P"O3KZ=:\>M2G0J2I5%:479_(T3NKHT
M**S_ /A(-+_Z"5GUV_Z].OIUH_X2#2_^@E9]=O\ KTZ^G6L1FA16?_PD&E_]
M!*SZ[?\ 7IU].M'_  D&E_\ 02L^NW_7IU].M &A16?_ ,)!I?\ T$K/KM_U
MZ=?3K1_PD&E_]!*SZ[?]>G7TZT :%%9__"0:7_T$K/KM_P!>G7TZT?\ "0:7
M_P!!*SZ[?]>G7TZT :%%9_\ PD&E_P#02L^NW_7IU].M6[>ZAO(_,@FCGCR1
MNC8,,CJ,B@"6BBB@ HHHH **** ([B'[1;RQ%WC$BE=\;;67(QD'L:YO3_"=
M]!=3W-QJ@>X"LEM+'",J65 SN&)W$^6O'3KZ\=110!S\GA4WT>I-?W0FN;V)
M8/,@B\M8U7)7"EFYW$G)/ITIK^%9KB.XEGOE;499H9UN$@VHC1@;1LW'(ZYY
MYW'I7144 9^C:6=+MYE>43SSS//+(J[068]ADX &!U/2N:^+.EVMUX3GO)8M
MUS:;?)?<1MW2(&XS@Y'K7:UROQ0_Y$74_P#ME_Z-2@ ^%_\ R(NF?]M?_1KU
MU5<K\+_^1%TS_MK_ .C7KJJ "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "J^H:A:Z3I]S?7US%9V5K$TT]Q.X2.*-02SLQX
M!))Z 4Z\O+?3;.>[NYX[6UMXVEFGF<(D:*,LS,>   22>F*_.OXG?$KQ5_P4
M<^)5Q\*_AA=W&C?!C2)E/B7Q8J%1J&&R(TSU4D?)'_$1O;Y5 KU,#@98R3E)
M\M..LI/9+]6^BZLB4N7U*7CCQ3XI_P""G'Q8D\#^#KBZT+X!>'+M7UC754HV
MJRJ<@*#U)ZHAX4?O'&=BU^AG@KP7HOP[\)Z5X:\.Z?#I>B:9 MO:VD(PJ(/Y
MDG))/))).2:SOA;\+O#7P9\#:7X1\)Z;'IFBZ?'LCB7EG;^*1VZL['DL>I-=
M96F88Z.(4:&'7+1A\*ZOO*7>3_#9"C&VKW"BBBO'- HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *9+$DT;QR
M(LD;@JR,,A@>H(]*?10!^>O[-<C_ +''[;'C#X(WK-;^!O'!_MGPNS\1QS$,
M5C!QCE5DA/JT$7]ZOT*KX^_X*6?!>_\ &GPBL/B-X7#P>-OAW<C6K.YMU_>_
M9U96F XZH4289Z>4W]ZO>/V<_C/8?M ?!CPOXYL/+1M2M1]KMT.?L]TGR3Q>
MN X;&>2NT]Z^DS+_ &S#TLQ6[]V?^)+1_P#;T?Q3,8>ZW ])HHHKYLV"BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "N5^*'_(BZG_VR_\
M1J5U5<K\4/\ D1=3_P"V7_HU* #X7_\ (BZ9_P!M?_1KUU5<K\+_ /D1=,_[
M:_\ HUZZJ@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "O-_C-\9+7X7Z=;V=E;C6/%NI@II>D1GECWFF.?D@0_>?Z*N6(%;?Q2^*GA
M?X+^"=0\6>+]5ATC1;)<O+)RTCG[L<:CEW;'"CD_G7P;\/\ 5OC1^VM\8IOB
M]X9TBR\!^ ])L)-,TI-7B)DUR(2%Q$[+R?GR?,'R1DD+O.\GWLLP$<0WB,1[
MM*.[>B;Z1\[];=.QSUYSC!JEK+H/^*6H_'']L;XE:9\$-7_LOX>>$DM1J&O:
MII5PS#685<9\A7P[*,K^YY"M\SL1LK[M^$_PG\,?!/P+IWA'PAID>EZ-8KA4
M7EY7/WI9&ZN['DL?T  'G?P5^"NI6NN0>._'<$*>*4B:/3=)AD$L6BQ."K@.
M#MDG=3AY!P!\J\9+>YUIFV,A4:PN%LJ4>BV<NK\_)_=IO&&53D4JWQ!1117S
MIUA1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% $5S;0WEO+;W$23P2H8Y(I%#*ZD8*D'@@CM7Y__
M +)-W+^R3^U]X\_9[U*9X_"GB-SKWA-YFXY4GRP2>28T:,GN]KQ]ZOT%KXM_
MX*:?"G4[SP#X>^,7A+=!XR^'%ZFH+/$/F:TWJ7S@\B-U1^>B^;ZU]!E%2-2<
M\#5=HUE;TE]E_?IZ,RJ?S+H?:5%<-\#_ (L:9\<?A/X8\<:25%KK%FL[0ALF
M"8?++$3ZI(KJ?]VNYKPZE.5*;IS5FG9^J-$[ZA11168PHHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "N5^*'_(BZG_VR_P#1J5U5<K\4/^1%U/\
M[9?^C4H /A?_ ,B+IG_;7_T:]=57*_"__D1=,_[:_P#HUZZJ@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH *\P_:$_:)\'_LT^ 9_$_BV]V*
M<QV6G0D&YOYL9$<2D\]LL>%')-<W^U9^UIX4_97\&"_U4_VIXEO@4TCP_;N!
M/>2=-QZ[(@<;G(]@"2!7S[^SQ^RCXP^/?CRW^./[2 ^W:FV)-!\%SH1;:?%G
M<AEB.0H'41')S\TA+$@>[@\!#V7US&OEI=%UF^T?U>R]3*4G?ECN<_\ "GX#
M?$#]O+QM8?%?X\13:-\.K9O.\.>!8W9$FC/(>0<$(1C+G#R]MJ!0?T-T_3[7
M2K&WLK*VAL[.WC6*&WMXPD<2*,*JJ.     .!BK%%<N.Q]3&R2MRPCI&*V2_
MS[O=E1BHA1117F%A1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 54U;2K37M*O--U"W2[L
M+R%[>XMY!E98W4JRD>A!(_&K=%--IW0'P#^PMJEW^S;^T/\ $C]FK7KB1K#[
M0^N>%9IS_KH64,R*>Y:+8^!P&BF[FOOZOAO_ (*7?#_5?"\'@?\ :"\(1[?$
M_@"^B%X5'^NL6DR ^!RJR,5(_NW$A/2OKWX9?$'2OBM\/O#_ (PT23S-+UJR
MCO(<GE0PR4;_ &E.5([%37T6:KZU3IYE'[>DO\<=_P#P)6?WF4/=;@=/1117
MSAJ%%%% !1110 4444 %%%% !1110 4444 %5+/5K+46D6TO+>Z:/[ZPRJY7
MZX/'2G:D(FTVZ%PS)!Y3^8R DA<')& ><5P^C:J=$:ZBAMHM4F\DM;7%K"V\
MJ$A"AD&2$.Y3D'L>.* .[6\@8S!9HR83B7#CY.,_-Z<<\U%'J]C-9O=QWMN]
MJGWIUE4HN/5LX%>>PR"+0_&$43W$C;T:22:%XV<%$\PG<!C/S''H?2K^J%1K
M5]M*BR-_I_F8^YT[]O\ GG^E '<V]U#>0I-;RI/"_*R1L&4_0BN:^*'_ "(N
MI_\ ;+_T:E7/">?^)Q_SS_M*;9CIVS_X]N_'-<]\8M0OK?0H[6"V\VRN,_:9
MO+8^5M9"G(X&3QSUH U?A?\ \B+IG_;7_P!&O755Q/PVEOU\%:<(+:VDCS)A
MI+AD./,?/ C/?WKIO.U7_GSL^O\ S]OT]?\ 54 :%%9_G:K_ ,^=GU_Y^WZ>
MO^JH\[5?^?.SZ_\ /V_3U_U5 &A16?YVJ_\ /G9]?^?M^GK_ *JCSM5_Y\[/
MK_S]OT]?]50!H45G^=JO_/G9]?\ G[?IZ_ZJCSM5_P"?.SZ_\_;]/7_54 :%
M%9_G:K_SYV?7_G[?IZ_ZJCSM5_Y\[/K_ ,_;]/7_ %5 &A16?YVJ_P#/G9]?
M^?M^GK_JJ/.U7_GSL^O_ #]OT]?]50!H45G^=JO_ #YV?7_G[?IZ_P"JH\[5
M?^?.SZ_\_;]/7_54 :%%9_G:K_SYV?7_ )^WZ>O^JH\[5?\ GSL^O_/V_3U_
MU5 &A16?YVJ_\^=GU_Y^WZ>O^JH\[5?^?.SZ_P#/V_3U_P!50!H45G^=JO\
MSYV?7_G[?IZ_ZJCSM5_Y\[/K_P _;]/7_54 :%%9_G:K_P ^=GU_Y^WZ>O\
MJJ/.U7_GSL^O_/V_3U_U5 &A16?YVJ_\^=GU_P"?M^GK_JJ/.U7_ )\[/K_S
M]OT]?]50!H45G^=JO_/G9]?^?M^GK_JJ/.U7_GSL^O\ S]OT]?\ 54 :%%9_
MG:K_ ,^=GU_Y^WZ>O^JH\[5?^?.SZ_\ /V_3U_U5 &A16?YVJ_\ /G9]?^?M
M^GK_ *JCSM5_Y\[/K_S]OT]?]50!H45G^=JO_/G9]?\ G[?IZ_ZJCSM5_P"?
M.SZ_\_;]/7_54 :%%9_G:K_SYV?7_G[?IZ_ZJCSM5_Y\[/K_ ,_;]/7_ %5
M&A16?YVJ_P#/G9]?^?M^GK_JJ/.U7_GSL^O_ #]OT]?]50!H45G^=JO_ #YV
M?7_G[?IZ_P"JH\[5?^?.SZ_\_;]/7_54 :%%9_G:K_SYV?7_ )^WZ>O^JH\[
M5?\ GSL^O_/V_3U_U5 &A16?YVJ_\^=GU_Y^WZ>O^JH\[5?^?.SZ_P#/V_3U
M_P!50!H45G^=JO\ SYV?7_G[?IZ_ZJCSM5_Y\[/K_P _;]/7_54 :%%9_G:K
M_P ^=GU_Y^WZ>O\ JJ/.U7_GSL^O_/V_3U_U5 &A16?YVJ_\^=GU_P"?M^GK
M_JJ/.U7_ )\[/K_S]OT]?]50!H45G^=JO_/G9]?^?M^GK_JJ/.U7_GSL^O\
MS]OT]?\ 54 :%%9_G:K_ ,^=GU_Y^WZ>O^JH\[5?^?.SZ_\ /V_3U_U5 &A1
M6?YVJ_\ /G9]?^?M^GK_ *JCSM5_Y\[/K_S]OT]?]50!H45G^=JO_/G9]?\
MG[?IZ_ZJCSM5_P"?.SZ_\_;]/7_54 :%%9_G:K_SYV?7_G[?IZ_ZJCSM5_Y\
M[/K_ ,_;]/7_ %5 &A16?YVJ_P#/G9]?^?M^GK_JJ/.U7_GSL^O_ #]OT]?]
M50!H45G^=JO_ #YV?7_G[?IZ_P"JH\[5?^?.SZ_\_;]/7_54 :%?.W[7'[97
MA[]F/0X;"WA_X23XA:HH31_#=L2TCNQVI)*%^98]W  ^9S\J]RO-?M<_MIS_
M  .FM? WA#2;?Q3\6M;VPZ;HME*]R;4OPDLR! 23G*QYRW4X7DX/[)?[%.L?
M#SQ'/\5?BK+;^-/B[JC_ &A[J]O#(FF;ARL>(RIE ^7<ORJ!M3"\M]#A<'1P
M])8W'_"_ACUG_E'N_N,I2;?+$K_LJ_L=:[J'C%OC?\?)O^$B^)^H%;BQTNYP
MT&BKU3Y/N^8HX51\L?;+<C[4K/\ .U7_ )\[/K_S]OT]?]51YVJ_\^=GU_Y^
MWZ>O^JKS,9C*N.J>TJ^B2V2Z)+HBXQ459&A16?YVJ_\ /G9]?^?M^GK_ *JC
MSM5_Y\[/K_S]OT]?]57"4:%%9_G:K_SYV?7_ )^WZ>O^JH\[5?\ GSL^O_/V
M_3U_U5 &A16?YVJ_\^=GU_Y^WZ>O^JH\[5?^?.SZ_P#/V_3U_P!50!H45G^=
MJO\ SYV?7_G[?IZ_ZJCSM5_Y\[/K_P _;]/7_54 :%%9_G:K_P ^=GU_Y^WZ
M>O\ JJ/.U7_GSL^O_/V_3U_U5 &A16?YVJ_\^=GU_P"?M^GK_JJ/.U7_ )\[
M/K_S]OT]?]50!H45G^=JO_/G9]?^?M^GK_JJ/.U7_GSL^O\ S]OT]?\ 54 :
M%%9_G:K_ ,^=GU_Y^WZ>O^JH\[5?^?.SZ_\ /V_3U_U5 &A16?YVJ_\ /G9]
M?^?M^GK_ *JCSM5_Y\[/K_S]OT]?]50!H45G^=JO_/G9]?\ G[?IZ_ZJCSM5
M_P"?.SZ_\_;]/7_54 :%%9_G:K_SYV?7_G[?IZ_ZJCSM5_Y\[/K_ ,_;]/7_
M %5 &A16?YVJ_P#/G9]?^?M^GK_JJ/.U7_GSL^O_ #]OT]?]50!H45G^=JO_
M #YV?7_G[?IZ_P"JH\[5?^?.SZ_\_;]/7_54 :%%9_G:K_SYV?7_ )^WZ>O^
MJH\[5?\ GSL^O_/V_3U_U5 &A16?YVJ_\^=GU_Y^WZ>O^JH\[5?^?.SZ_P#/
MV_3U_P!50!H45G^=JO\ SYV?7_G[?IZ_ZJCSM5_Y\[/K_P _;]/7_54 :%%9
M_G:K_P ^=GU_Y^WZ>O\ JJ/.U7_GSL^O_/V_3U_U5 &A16?YVJ_\^=GU_P"?
MM^GK_JJ/.U7_ )\[/K_S]OT]?]50!H45G^=JO_/G9]?^?M^GK_JJ/.U7_GSL
M^O\ S]OT]?\ 54 0^+?"VF^./"^K^'M9MEN])U6TELKJ!NCQ2*58?D37Q#_P
M3K\3:E\&_B#\2/V:?%5PS7_AF]DU+0I)?E^T6;L"^P''!#Q3 #)_?2?W:^Y/
M.U7_ )\[/K_S]OT]?]57PE_P4*\.Z]\'?B)\.OVEO#VGQ)>^&;R/3=;CM9BW
MVFS=B$W_ "K@$/+"3R?WT8_AKZ+*9+$*IET]JB]WRFOA^_6/S,JFEI]C[]HK
MF?"?B]O&_A?2?$.C1V-YI.J6T5Y:3K=MAX9%#*W^KZX(XK6\[5?^?.SZ_P#/
MV_3U_P!57STHN+<7NC4T**S_ #M5_P"?.SZ_\_;]/7_54>=JO_/G9]?^?M^G
MK_JJ0&A16?YVJ_\ /G9]?^?M^GK_ *JCSM5_Y\[/K_S]OT]?]50!H45G^=JO
M_/G9]?\ G[?IZ_ZJK=NTS1YGCCCDR?EC<N,=N2!_*@"6BBB@ HHHH **** "
MJ6GZ+8:7).]G:0VSS-ND:- NX_Y[>Y]:NT4 0K:0*9BL,8,QS+A!\_&/F]>.
M.:BCTFQALWM([*W2U?[T"Q*$;/JN,&K=% $5O;0V<*0V\200IPL<:A5'T KF
MOBA_R(NI_P#;+_T:E=57*_%#_D1=3_[9?^C4H /A?_R(NF?]M?\ T:]=57*_
M"_\ Y$73/^VO_HUZZJ@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "OD']K
M[]MBX^'>MP?"KX3V7_"7?&+5V%M%;6J"9-,+#(:0=#)CY@C<*!O?"@!L_P#:
MT_;#UR'Q='\$O@9;GQ'\5]38V]S>6V'BT52/F)8_*)5')+?+&.6YXKOOV0?V
M,M"_9GT>?5=0N!XF^(^K R:OXCN,NY9CN>.$M\P3=R6/S.>6[*OTF'PM' TE
MC,<KMZPA_-_>EVC_ .E>ABY.3Y8F9^QY^QC;_ E;KQKXTO?^$M^+NM[IM3UR
MY<S?9C)R\4+-R2<_-)U;IPO%?4=%%>-BL55QE5UJSNW^'DNR78TC%15D%%%%
M<A04444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %<Q\3OA[I7Q7^'OB
M'P?K<?F:7K5E)9S8&2FX8#K_ +2G##W45T]%7"4J<E.+LT!\.?\ !-'X@:MX
M9M?&_P"S_P"+Y-OBCX?W\OV0,3^]L6D()3/55D8,#TVSQ@=*^XZ^ /VY]-N_
MV:OVC/AO^TIH=O(VG-.FA^*H8 3YT)4JKL.<EH=Z@G@-##W-?>NEZI::YI=G
MJ-A<)=V-Y"EQ;W$9RLD;J&5@?0@@_C7O9O&-9PS"FO=JJ[\IK22^_7YF5/2\
M7T+5%%%?/&H4444 %%%% !1110 4444 %%%% !1110 4444 %<K\4/\ D1=3
M_P"V7_HU*ZJN5^*'_(BZG_VR_P#1J4 'PO\ ^1%TS_MK_P"C7KJJY7X7_P#(
MBZ9_VU_]&O754 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !7PU^U!^V)XD\;>.C
M\"OV>5_MKQ[>%K?5/$-LW[C2$!Q)MDZ!US\TG1.BYD("YO[1/[3_ (O_ &C/
M']Q\!_V=IO/NGW1>(_&L+E;>QASMD6*5>@'(,B\D_+'DG-?1_P"R[^RKX/\
MV6/ ZZ-X?A%YJ]TJMJFN3H!<7L@_] C&3M0' SW))/T]'#TLKIK$XR/-4>L8
M/_TJ?EVCU]#%MS=H[&9^R7^R-X;_ &6_",D5LXUKQCJ2A]9\13K^]N7)R43/
M*Q!NBYR3RV3T][HHKP,1B*N*JRK5I7D^IJDHJR"BBBN<84444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110!PGQT^$NF_'/X2^)_ VJA5M]
M8LVACF9<^1,/FBE'NDBHW_ :^:O^"9?Q8U+4OAUK_P (?%FZW\9?#B]?39()
M3\[6F]A'C/7RW5X^.BB/^]7VA7Y\_M60O^R+^V1X%^/EA&T/A#Q4?[!\5K$O
MRABH'F,!CDQHD@'=K5B?O5]'EG^V4*N7/>7O0_Q16W_;RNO6QC/W6IGZ#45'
M!<1W4$<T,BS0R*'22-@RLI&001U!%25\X;!1110 4444 %%%% !1110 4444
M %%%% !1110 5ROQ0_Y$74_^V7_HU*ZJN5^*'_(BZG_VR_\ 1J4 'PO_ .1%
MTS_MK_Z->NJKE?A?_P B+IG_ &U_]&O754 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4455U3
M5+/1--NM0U&[AL;"UC::>ZN9!''$BC+,S'@  9)--)MV0$\TT=M#)--(L44:
MEWD<@*J@9))/0 5^>GQI_:0\:?MI>/KSX*?L_3O;>%D_=^)O':[A"("2KI$X
M_P"69Y P=TO(7";F-7XE?%GQM_P45\=7WPN^$5Q<>'_@_82B/Q)XRDC9?MRY
MYC0<$JW\,7!?J^U<BOMKX)_ _P (_L^^ [/PGX.TU;'3X?GFF?#3W<N &EF?
M'S.<?0#    %?40I4LFBJN(7-7>L8O:'9R\^T>F[,;NIHMC,_9W_ &=?"'[,
M_P /[?POX4M,$XDOM2F ^TW\V,&21A^.%'"C@=\^HT45\W5K5*]1U:KO)[MF
MJ22L@HHHK(84444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %>7_ +3'P3LOVA/@CXH\#W6Q)[^V+V-PX_X][M/G@D]<!P <=5+#
MO7J%%:T:LZ%2-6F[2B[KU0FKJS/D/_@FK\;;WX@_!>X\"^)"\/C3X?W']B7U
MM<'][Y"EE@9N>J['B/O#[U]>5^>GQ^!_8S_;G\*_%^WS:^ /B%_Q*?$FWB*&
MX.T-*W.!TBFSU/ES>M?H4K!E!!R#R"*]G-Z4'4CC**M"LN9>3^TOD_P:,Z;T
MY7T%HHHKP34**** "BBB@ HHHH **** (KJX6SM9IW!*1(SL%'. ,\5B:3XB
MO]4@N)1I.%1 8_+N5;>Q56"G(7:<,.>1P?;.Y<>;]GE\@H)]I\OS 2N['&<=
MLUQ?A_3]4L=0O+F#2OL$:JV^T$JI%/(5CP$ R!C#_-CG< >AP ;7_"4&VMM6
M:\MEBGTX*72&0R*^Y=RA6*@Y/3D<5&WBJ6"*YBGLE348IH85MTFW([28V_/M
M&!USQQM/7BLZ;P[=WUIKJP6@TN"ZC00V3LGS2K\QD(0E5W<#@Y.,GM2W&C:A
M?3W6J?8FBG^U6LT=F\B;V6(?,,@E03N;'/89QF@#HM&U0ZI;S,\0@G@F>"6-
M6W ,I[' R",'H.M8OQ0_Y$74_P#ME_Z-2M/PW8SV<-[+<1&"2[NY+CRF8$H#
M@ $@D9PH/!/6N7^,6A_;]"CU+S_+_L_/[K9GS-[(O7/&,>AH U?A?_R(NF?]
MM?\ T:]=57$_#;2X;GP5ITCO<AB9#B.ZE0<2..BL!73?V';_ //2\ZY_X_9O
M_BZ -"BL_P#L.W_YZ7G7/_'[-_\ %T?V';_\]+SKG_C]F_\ BZ -"BL_^P[?
M_GI>=<_\?LW_ ,71_8=O_P ]+SKG_C]F_P#BZ -"BL_^P[?_ )Z7G7/_ !^S
M?_%T?V';_P#/2\ZY_P"/V;_XN@#0HK/_ +#M_P#GI>=<_P#'[-_\71_8=O\
M\]+SKG_C]F_^+H T**S_ .P[?_GI>=<_\?LW_P 71_8=O_STO.N?^/V;_P"+
MH T**S_[#M_^>EYUS_Q^S?\ Q=']AV__ #TO.N?^/V;_ .+H T**S_[#M_\
MGI>=<_\ '[-_\71_8=O_ ,]+SKG_ (_9O_BZ -"BL_\ L.W_ .>EYUS_ ,?L
MW_Q=']AV_P#STO.N?^/V;_XN@#0HK/\ [#M_^>EYUS_Q^S?_ !=']AV__/2\
MZY_X_9O_ (N@#0HK/_L.W_YZ7G7/_'[-_P#%T?V';_\ /2\ZY_X_9O\ XN@#
M0HK/_L.W_P">EYUS_P ?LW_Q=']AV_\ STO.N?\ C]F_^+H T**S_P"P[?\
MYZ7G7/\ Q^S?_%T?V';_ //2\ZY_X_9O_BZ -"BL_P#L.W_YZ7G7/_'[-_\
M%T?V';_\]+SKG_C]F_\ BZ -"BL_^P[?_GI>=<_\?LW_ ,71_8=O_P ]+SKG
M_C]F_P#BZ -"BL_^P[?_ )Z7G7/_ !^S?_%T?V';_P#/2\ZY_P"/V;_XN@#0
MHK/_ +#M_P#GI>=<_P#'[-_\71_8=O\ \]+SKG_C]F_^+H T**S_ .P[?_GI
M>=<_\?LW_P 71_8=O_STO.N?^/V;_P"+H T**S_[#M_^>EYUS_Q^S?\ Q=']
MAV__ #TO.N?^/V;_ .+H T**S_[#M_\ GI>=<_\ '[-_\71_8=O_ ,]+SKG_
M (_9O_BZ -"BL_\ L.W_ .>EYUS_ ,?LW_Q=']AV_P#STO.N?^/V;_XN@#0H
MK/\ [#M_^>EYUS_Q^S?_ !=']AV__/2\ZY_X_9O_ (N@#0HK/_L.W_YZ7G7/
M_'[-_P#%T?V';_\ /2\ZY_X_9O\ XN@#0HK/_L.W_P">EYUS_P ?LW_Q=']A
MV_\ STO.N?\ C]F_^+H T**S_P"P[?\ YZ7G7/\ Q^S?_%T?V';_ //2\ZY_
MX_9O_BZ -"BL_P#L.W_YZ7G7/_'[-_\ %T?V';_\]+SKG_C]F_\ BZ -"BL_
M^P[?_GI>=<_\?LW_ ,77)?%3QSX/^"_@C4?%GB_69])T6R&YY7O9BTCG.V.-
M=^7=CP%'7\*N$)5)*$%=O9!MN=-XN\7:-X#\-:CX@\0ZE;Z1HNGPF>ZO;I]L
M<2#N3W).  .22  20*_/#6-7^(?_  5"\:3:3H$M]X%_9WTFZV7>HLNRXUF1
M2#@ \,W0A.4CR&?<VU:K>%? _P 0?^"EWC2'Q)XJ&I^"OV?-/NC)I^C-=2&?
M5V4D;LL3DGD-(/E3)2/)W,/T+\+_  [T#P5X?L-"T&R?2-'L(Q%:V5I<RQQ1
M*.P ;ZGW)S7T_P"[R-:6EB?O5/\ 1S_!>IAK4]/S(?AC\,/#/P=\%:=X4\(Z
M5#I&B6*;8X(ADLW\3NQY=V/)8\DUU59_]AV__/2\ZY_X_9O_ (NC^P[?_GI>
M=<_\?LW_ ,77S$YRJ2<YN[?4WV-"BL_^P[?_ )Z7G7/_ !^S?_%T?V';_P#/
M2\ZY_P"/V;_XNH T**S_ .P[?_GI>=<_\?LW_P 71_8=O_STO.N?^/V;_P"+
MH T**S_[#M_^>EYUS_Q^S?\ Q=']AV__ #TO.N?^/V;_ .+H T**S_[#M_\
MGI>=<_\ '[-_\71_8=O_ ,]+SKG_ (_9O_BZ -"BL_\ L.W_ .>EYUS_ ,?L
MW_Q=']AV_P#STO.N?^/V;_XN@#0HK/\ [#M_^>EYUS_Q^S?_ !=']AV__/2\
MZY_X_9O_ (N@#0HK/_L.W_YZ7G7/_'[-_P#%T?V';_\ /2\ZY_X_9O\ XN@#
M0HK/_L.W_P">EYUS_P ?LW_Q=']AV_\ STO.N?\ C]F_^+H T**S_P"P[?\
MYZ7G7/\ Q^S?_%T?V';_ //2\ZY_X_9O_BZ -"BL_P#L.W_YZ7G7/_'[-_\
M%T?V';_\]+SKG_C]F_\ BZ -"BL_^P[?_GI>=<_\?LW_ ,71_8=O_P ]+SKG
M_C]F_P#BZ -"BL_^P[?_ )Z7G7/_ !^S?_%T?V';_P#/2\ZY_P"/V;_XN@#0
MHK/_ +#M_P#GI>=<_P#'[-_\71_8=O\ \]+SKG_C]F_^+H T**S_ .P[?_GI
M>=<_\?LW_P 71_8=O_STO.N?^/V;_P"+H T**S_[#M_^>EYUS_Q^S?\ Q=']
MAV__ #TO.N?^/V;_ .+H T**S_[#M_\ GI>=<_\ '[-_\71_8=O_ ,]+SKG_
M (_9O_BZ -"BL_\ L.W_ .>EYUS_ ,?LW_Q=']AV_P#STO.N?^/V;_XN@#0H
MK/\ [#M_^>EYUS_Q^S?_ !=']AV__/2\ZY_X_9O_ (N@#0HK/_L.W_YZ7G7/
M_'[-_P#%T?V';_\ /2\ZY_X_9O\ XN@#0HK/_L.W_P">EYUS_P ?LW_Q=']A
MV_\ STO.N?\ C]F_^+H T**S_P"P[?\ YZ7G7/\ Q^S?_%T?V';_ //2\ZY_
MX_9O_BZ -"BL_P#L.W_YZ7G7/_'[-_\ %T?V';_\]+SKG_C]F_\ BZ -"BL_
M^P[?_GI>=<_\?LW_ ,71_8=O_P ]+SKG_C]F_P#BZ -"BL_^P[?_ )Z7G7/_
M !^S?_%T?V';_P#/2\ZY_P"/V;_XN@#0HK/_ +#M_P#GI>=<_P#'[-_\71_8
M=O\ \]+SKG_C]F_^+H \O_:S^!-O^T9\!_$O@UE3^TY8?M6E32<"*]CRT1SV
M#'*$_P!UVKS7_@G+\=[CXO? >'0==:1/&?@F0:%JL%QD3%4!$$C \Y**4.>2
M\+D]:^FO[#M_^>EYUS_Q^S?_ !=?GY\9-/B_8O\ VZ/#WQ&C>>T^&OQ+)L->
M*7$B);7A(WRLP;/WC'/D\D&<"OI,O_V[#5,O?Q?'#U2]Z/\ V\OQ1C+W9*9^
MB=%9_P#8=M_STO.N?^/V;_XNC^P[?_GI>=<_\?LW_P 77S9L:%%9_P#8=O\
M\]+SKG_C]F_^+JW;VZ6L>Q#(RY)_>2,YY]V)- $M%%% !1110 4444 %%%%
M!1110 5ROQ0_Y$74_P#ME_Z-2NJKE?BA_P B+J?_ &R_]&I0 ?"__D1=,_[:
M_P#HUZZJN5^%_P#R(NF?]M?_ $:]=50 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 445\Y?M9?MJ>%OV9]/32
M8(SXG^(FH*JZ7X9LR6D9G.U'FVY*(3T&-SGA1U(Z<-AJV+JJC0CS2?\ 7W>8
MG)15V=U^T1^TAX-_9G\!S>)/%M[AWW)8:7 0;J_F SLC4]NF6/RJ#R>0#\@?
M"[X _$3]NSQKIWQ4^/<<VB_#RV;S_#O@.-FC66,\J\@X(1AC+G#R=MB;0>H_
M9Z_8O\4_$KQW!\:?VD;K^W_%LN)M,\*3 &TTM<[D$D?W<KVB&0IY<LY./NJO
M>GB*.4Q='!R4JKTE/HO*'ZR^XRLZFLMNQ!8V-MI=C;V=E;Q6EG;QK##;P($C
MB11A551P    !P *GHHKYC<V"BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *\<_:W^ MO^T=\!_$
M?@XHG]JM']LTF9^/*O8@3$<GH&RT9/99&KV.BMZ%:>'JQK4W:47=?(35U9GR
MQ_P3I^/5Q\9/@/!HNNNZ^,_!<@T/5H9^)2J B"5AUR44H<\EXG)ZU]3U^>?Q
ME8_L0_MS:-\481]F^&GQ,)T_Q#CB*UNR07F/I\VR?/4@W %?H6K!U#*0RL,@
MCD&O6S:C!5(XN@K4ZJYEY/[4?D_PL9TWIRO="T445X1J%%%% !1110 4444
M%%%% !1110 5ROQ0_P"1%U/_ +9?^C4KJJY7XH?\B+J?_;+_ -&I0 ?"_P#Y
M$73/^VO_ *->NJKE?A?_ ,B+IG_;7_T:]=50 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !167XF\3Z3X+\/WVN:]J-
MMI&CV,1FN;V\D$<42#NS'_)) KX \=?M&?$[]O#Q-?\ P]_9_BN/#7P[B;[/
MKGCR\1H6D0XW)&?O(",X1?WC@C/EKNKU,%E]7&MR3Y81^*3V7^;[):LB4E'U
M/0_VE/VZ+Z'Q8OPG^ 6GKX\^*%XS02W5JHFM-*(X8DGY'=>IR?+3^,D@K71_
MLF_L/V/P=OI?'_Q!O1XX^+^IN;F[UJ[8S)9.P^98"W);G!E(R1PH49!]*_9K
M_95\"_LN^%!I?A6Q\W4[A%&HZY=*#=WK#^\W\* YQ&O ]SDGV.NS$8^E1I/"
M9>K0?Q2?Q3]>T>T?O)46WS3"BBBOGS4**** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
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
MY3?_ !%']N6__/.\ZX_X\IO_ (BM"B@#/_MRW_YYWG7'_'E-_P#$4?VY;_\
M/.\ZX_X\IO\ XBM"B@#/_MRW_P">=YUQ_P >4W_Q%']N6_\ SSO.N/\ CRF_
M^(K0HH S_P"W+?\ YYWG7'_'E-_\11_;EO\ \\[SKC_CRF_^(K0HH S_ .W+
M?_GG>=<?\>4W_P 11_;EO_SSO.N/^/*;_P"(K0HH S_[<M_^>=YUQ_QY3?\
MQ%']N6__ #SO.N/^/*;_ .(K0HH S_[<M_\ GG>=<?\ 'E-_\11_;EO_ ,\[
MSKC_ (\IO_B*T** ,_\ MRW_ .>=YUQ_QY3?_$4?VY;_ //.\ZX_X\IO_B*T
M** ,_P#MRW_YYWG7'_'E-_\ $4?VY;_\\[SKC_CRF_\ B*T** ,_^W+?_GG>
M=<?\>4W_ ,11_;EO_P \[SKC_CRF_P#B*T** ,_^W+?_ )YWG7'_ !Y3?_$4
M?VY;_P#/.\ZX_P"/*;_XBM"B@#/_ +<M_P#GG>=<?\>4W_Q%']N6_P#SSO.N
M/^/*;_XBM"B@#/\ [<M_^>=YUQ_QY3?_ !%']N6__/.\ZX_X\IO_ (BM"B@#
M/_MRW_YYWG7'_'E-_P#$4?VY;_\ /.\ZX_X\IO\ XBM"B@#/_MRW_P">=YUQ
M_P >4W_Q%']N6_\ SSO.N/\ CRF_^(K0HH S_P"W+?\ YYWG7'_'E-_\11_;
MEO\ \\[SKC_CRF_^(K0HH S_ .W+?_GG>=<?\>4W_P 11_;EO_SSO.N/^/*;
M_P"(K0HH S_[<M_^>=YUQ_QY3?\ Q%']N6__ #SO.N/^/*;_ .(K0HH S_[<
MM_\ GG>=<?\ 'E-_\11_;EO_ ,\[SKC_ (\IO_B*X'XX?M)?#O\ 9UT0:CXX
M\16^F22+NMM.C_>WEUSC]W"OS$9XW'"CN17Q[-\<?VCOVXY'L?A)H4GPD^&D
MY*2>+M58I=W$?&3$X&02,X$ .#P917KX7*Z^)A[:5H4U]J6B^7=^2N9RFHZ=
M3V#]L+]M/PK\'])M?"^E>*(K7QAJ5]#97<-O!))>:;:2;A)<JA7:)%^7:'/.
M=P#8P?GGXL?!+PK\5_#OAKP[X0N-0NM6UJ6"8PZ/>,#JUHLF^6:^<!MRKN=O
M.D5V5VX#$E3]2?LV_L&?#C]G>9-9%N_B_P ;LWF3>)M:023"0DDM"AR(B23\
MP)?DY<U[7X4^&7A;P-JVM:GH.AVFEW^LS">_GMU(,S <=_E&23M7 W,S8RQ)
M]RCFN$RR#IX).4E]IZ<S]-TETUOZ;G%5PTZU2,W*R70P/A'\,O ?P+\*Q>'O
M!/AUM#TY2/,,-A,9;AP,>9+(4W2-_M,3Z# P*[;^W+?_ )YWG7'_ !Y3?_$5
MH45\A4J3JR<ZCNWU9Z&VB,_^W+?_ )YWG7'_ !Y3?_$4?VY;_P#/.\ZX_P"/
M*;_XBM"BLQF?_;EO_P \[SKC_CRF_P#B*/[<M_\ GG>=<?\ 'E-_\16A10!G
M_P!N6_\ SSO.N/\ CRF_^(H_MRW_ .>=YUQ_QY3?_$5H44 9_P#;EO\ \\[S
MKC_CRF_^(H_MRW_YYWG7'_'E-_\ $5H44 9_]N6__/.\ZX_X\IO_ (BC^W+?
M_GG>=<?\>4W_ ,16A10!G_VY;_\ /.\ZX_X\IO\ XBC^W+?_ )YWG7'_ !Y3
M?_$5H44 9_\ ;EO_ ,\[SKC_ (\IO_B*/[<M_P#GG>=<?\>4W_Q%:%% &?\
MVY;_ //.\ZX_X\IO_B*/[<M_^>=YUQ_QY3?_ !%:%% &?_;EO_SSO.N/^/*;
M_P"(H_MRW_YYWG7'_'E-_P#$5H44 9_]N6__ #SO.N/^/*;_ .(H_MRW_P">
M=YUQ_P >4W_Q%:%% &?_ &Y;_P#/.\ZX_P"/*;_XBC^W+?\ YYWG7'_'E-_\
M16A10!G_ -N6_P#SSO.N/^/*;_XBC^W+?_GG>=<?\>4W_P 16A10!G_VY;_\
M\[SKC_CRF_\ B*/[<M_^>=YUQ_QY3?\ Q%:%% &?_;EO_P \[SKC_CRF_P#B
M*/[<M_\ GG>=<?\ 'E-_\16A10!G_P!N6_\ SSO.N/\ CRF_^(H_MRW_ .>=
MYUQ_QY3?_$5H44 9_P#;EO\ \\[SKC_CRF_^(H_MRW_YYWG7'_'E-_\ $5H4
M4 9_]N6__/.\ZX_X\IO_ (BC^W+?_GG>=<?\>4W_ ,16A10!G_VY;_\ /.\Z
MX_X\IO\ XBC^W+?_ )YWG7'_ !Y3?_$5H5S_ (Y\?^&_AGX<GU_Q7K=EX?T:
M!E62]OYA'&&8X5<GJ2>@')JHQE-J,5=L#0_MRW_YYWG7'_'E-_\ $4?VY;_\
M\[SKC_CRF_\ B*^9?$__  4\_9X\-^8D7C*XUJ>,X,6EZ7<OGZ.Z*A_!J\]N
M/^"NWPXU"0P^&? ?CGQ#,OWA'90(!_WS*Y_2O9IY)F5175"7S5OSL9^TAW/M
MS^W+?_GG>=<?\>4W_P 11_;EO_SSO.N/^/*;_P"(KB?@#\7KGXX?#BU\577A
M'6/!3W$TD2Z9K<128JIXD7(&48'@X'0_4^6?M(?$#]ISP]XYMM+^#GPU\.^)
M/#LEFLKZQJUX@99MQ#QE&N8=N %/1@=W!X(''3P=2I7>'DXQDKWYI)+3SV*<
ME:Y]$_VY;_\ /.\ZX_X\IO\ XBC^W+?_ )YWG7'_ !Y3?_$5\/?;_P!OS6O^
M8=X#T#O]Z%\9[??DZ9_2K>D_#W]O.?5+.6]^)W@.ULUF1IHC9QN&0$%EP++)
MR..&4^A'6O0>4J*][$TO_ F_R3(]IY,][M/VQOA9?V,-Y;:IKMQ:31K-%/%X
M3U=D=",A@PM<$$<YKTKPYX\T?Q;X>TO7-)DN[S2M3MHKRTN%L+A1+#(@='PR
M @%2#R!UKXE^&.KZCX=^%'AG1K_P5XZ@U&STF"UGA_X0[5&VR+$%89%O@\CJ
M#61\.?@O^W+9_#WPO'H/Q9\*>']'72[5;/1]6T]$NK" 0KY=O*KZ<["1%PC
ML2"IR3UKR,#06+DXRJQAI?WKK\DS*-5NU]?3_AS] O[<M_\ GG>=<?\ 'E-_
M\11_;EO_ ,\[SKC_ (\IO_B*^'F^&?[?L()_X6SX#G]A:0C_ -QXKUO]FOP[
M^U!H_C:]D^,_BGPIKGA<V3+##I,(6X%R77:05@C&T*'SDGJ,#N/2K9;&C3=1
M8BG*W1-W?I>*-E.[M9GT-_;EO_SSO.N/^/*;_P"(H_MRW_YYWG7'_'E-_P#$
M5PG[0FN_%#P[\.9;WX0^&])\5>,%N8E73]8G$4)A)/F,"98@6'R\%UXSU( /
MRU_PT]^V-HO_ "%_V<=/O=O#?V;<DY[\;9Y.WUY_*LL+EU7%PYZ<X+R<HI_<
MV.4U%V9]P?VY;_\ /.\ZX_X\IO\ XBC^W+?_ )YWG7'_ !Y3?_$5\.C_ (*%
M?&+PXQ_X2K]E/QC:VZ??O+(W+1KGH.;3:?\ ONOJ[X"?&%/CK\-K'Q:GAS6/
M"OVB62(Z=K4/E3*4;:6']Y3V;COQQ1BLLQ6#A[2K%<NUU*+_ ";",XRT1VG]
MN6__ #SO.N/^/*;_ .(H_MRW_P">=YUQ_P >4W_Q%>-_%;]MKX-_!'QXW@_Q
MIXL;1];2&.>2/^SKJ=(U<93+QQL,D<^W?%7O#7[9GP-\6,$T_P"*GA=7; 5+
MW4$M&8DX  F*$G)Z#FL?J&+Y%4]C+E>J?*[??8?-&]KGJW]N6_\ SSO.N/\
MCRF_^(H_MRW_ .>=YUQ_QY3?_$5'H?BC1O$\'GZ/J]CJT.-WF6-RDRX]<J36
MI7"TXNS11G_VY;_\\[SKC_CRF_\ B*/[<M_^>=YUQ_QY3?\ Q%:%%(#/_MRW
M_P">=YUQ_P >4W_Q%']N6_\ SSO.N/\ CRF_^(K0HH S_P"W+?\ YYWG7'_'
ME-_\11_;EO\ \\[SKC_CRF_^(K0HH S_ .W+?_GG>=<?\>4W_P 11_;EO_SS
MO.N/^/*;_P"(K0HH S_[<M_^>=YUQ_QY3?\ Q%']N6__ #SO.N/^/*;_ .(K
M0HH \._:QN-2U_X)ZUHVD:+/JUIJ9%CK"MI\DDMOI[AA//"C+AY4&"OI]X9*
M@'YY\":7I_PZU;P,GP7AMSK]U''##IMJX%MJ>G@YE>]8=$0%F$QRRN< ,6*G
M[WKF/"GPR\+>!M6UK4]!T.TTN_UF83W\]NI!F8#CO\HR2=JX&YF;&6)/T&"S
M2.%PL\/*%[_<[Z>]Z>7_  3AK89U:L*BFURG3T445\^=P4444 %%%% !1110
M 4444 %<K\4/^1%U/_ME_P"C4KJJY7XH?\B+J?\ VR_]&I0 ?"__ )$73/\
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
M^SO\.]3T'4]/M$DE:^.XZA;WF^X@("@&)N50# X"X)))!R<Y_A']E'P[X/\
M%VD:Y;:UK-W_ &;(9EMKR9'69]I"F3Y0,*3N&T*=P&21Q7;S822O#F_ X5_:
MD9I5%"W7XDSVR21(8VDD941069F.  .I)J"+[)J'V>\B\FY 4F&X7#X#=2K>
MA]J^8_B!^QYXQ\6>(O$.K:?\<O%^FIJEQ-/'IIN96M(0[%EB,1E,3QH"$">6
MN57!.2375?$;X-?$]]#\(:7\./B,/"UKI%DUO>*;:)3>3?(1.2T,W!(DS& !
ME\YXQ7%SM1;:=_EM]YW>TJ\SO#W?76_]>8_]KC0M3U_POX1?0]1L[#5=,\1)
M=QM>6[7$1S97<95E5T(RLI(.>PKR;X3^&?&U]\;O %[XDUS1;JQTV\N[A(--
MTR6"1Y&T^ZB&7:=P !(3T["M6Y^'OCCX9^$/[1^(WB+2_$GB'5_%-NAUFW0V
M\*0-;RQQ?:-J(BD2.5RD8'*9ZG$/Q0\,^(_"_AA=82_L;"_M;B-]-:SNY#+-
M>$XMXE'EKN#2%0RYY7=GC-=O-@HT7*;]^U]6T[]-$[;_ 'GS&)Q.+CBE>ZC=
M:+72_IV^X^PJ***Y3[$**** "BBB@ HILDBQHSNP1%&2S'  ]36=I?B33]9F
M>*TG:215WE6B=,KQR-P&1R.1ZCU% &G15&#6K&YL[FZBN4>VMRRRRC[J[1EN
M>^/:HH_$FG26,]V)V6&%E63?$ZNI;&T;"-W.Y<<<Y&* -.N5^*'_ "(NI_\
M;+_T:E=%8ZA!J5N)K=R\>XJ=RE2&!P000""".A%><_%CXB:#;Z5J^@-=3-JT
M9B#01V<S@$E),;U0K]T@]>]7&$JCM!7,JE:G17-5DHKS=CI/A?\ \B+IG_;7
M_P!&O755PGP9\06&M>"X8;.?S)K.1XKB)D9'C8L7&58 X*L#GIU]#7=TI1<7
M:2LRH3C4BI0=T^P4445)84444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 45R/C+XL^$/A_K6A:1XBUZUTK4=;F\BPAGW?O7R!R0"$!9E4,Q
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
MWLVV*-> JLIP /8=*COKJ*\U"]U6"59=-COK%VG3E,*#N.?0;ESZ8]J] HH
MP/")\V'4[A&WP7%_+)"Z]&7@9![@D'FOG_XIZE#I?Q.\2K<K,GFRP2(1"[!E
M^S0KD$#U4C\*^GZX7XJ>']+F\*ZGJ#Z99O?_ +K_ $IH$,O^L1?O8STX^E7&
MO6H7E02;?>_Z'-7PE'&)0KR:2=]+>:Z^I\T^"]!\7>(/'FL:AX(NI-.NGMD2
M>=I/)$D:D;5*L,,0S-C(XRW(SSV=UHW[1*NZ0ZQ<HHX$D7]F,#[CS(R?S%>S
M_"?1M/M/"=A>P6-M#>2+(CW$<*K(R^:W!8#)' _(5VU:T\77:O6C&_DM/QU.
M/^RZ%+W:%2HE_BMZZ;(^&?B%HO[9^G7EC)X3\4BYM)%D-RNIVFDOY3 KL"B*
MWW$,"W8XV')&0#B?VE^V[;^"=6U"YO86UFV?-E9VFCV+BZC4(7+9 8$[B%&%
M)*' .17Z T5K];J<[FE'7IR1M^1NL*XQ454E]_\ P#\W_!'Q?_;AU+7+:TU7
MPU'9:>P9IM0O/#081JJD\(DB%B2  !ZYZ"H]<_:Q_;(\+7M_#-\-O#U[%:3R
MPI)-HUS')<JCE0Z1"[#L&QE=H.<C&>*_22BAXRJXI6C_ . 1_P BO85+W]H_
MP/B>S_:U^-5GIUM_;/A+PC;:J8U:XL93>6YB?'*$G><CZ?XUDW'[8GQX^URM
M#X5^'7V7<?+C:^OS(%[ MY8!/X"ONZJ-YH>FZBK+=Z?:W088(FA5\CTY%=D<
M9AU?FPZ;]3CEA\=S7C75NSA_E)'P/XF_;Y^-W@[1IM1NOA;X9UF*$KO32-3N
M'DP3C(0IN(R1G&2.3TR1A_#/_@K3KGB_QE9:+JWPIFMHK@NI;2+Q;FY5E5C@
M13&%3R.29%P 3SC%?H3IO@SP_H]XMW8:%IMC=*"!/;6<<;@$8(W  UFWWPH\
M%ZC/<3S^%-':YN&9YKA;&-)9&8Y8EP Q)/).>:)XS#."C##1OU;<KV\DI11T
M0ABU#WYQ<O)-+\V?&^N?\%;/A[IEGJ<<&B>)GUJS=HO[-O-'C@)D5MIC9Q=O
MM(.<G!Z'BN6OO^"O2:']D&L?"[6=,:[B%Q;B4 >;$>C+N9=P/J*^X/%WP)\
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
M]'Z>G^MH\G5?^?RSZ_\ /H_3T_UM:%% &?Y.J_\ /Y9]?^?1^GI_K:/)U7_G
M\L^O_/H_3T_UM:%% &?Y.J_\_EGU_P"?1^GI_K:/)U7_ )_+/K_SZ/T]/];6
MA10!G^3JO_/Y9]?^?1^GI_K:/)U7_G\L^O\ SZ/T]/\ 6UH44 9_DZK_ ,_E
MGU_Y]'Z>G^MH\G5?^?RSZ_\ /H_3T_UM:%% &?Y.J_\ /Y9]?^?1^GI_K:/)
MU7_G\L^O_/H_3T_UM:%% &?Y.J_\_EGU_P"?1^GI_K:/)U7_ )_+/K_SZ/T]
M/];6A10!G^3JO_/Y9]?^?1^GI_K:/)U7_G\L^O\ SZ/T]/\ 6UH44 9_DZK_
M ,_EGU_Y]'Z>G^MH\G5?^?RSZ_\ /H_3T_UM:%% &?Y.J_\ /Y9]?^?1^GI_
MK:/)U7_G\L^O_/H_3T_UM:%% &?Y.J_\_EGU_P"?1^GI_K:/)U7_ )_+/K_S
MZ/T]/];6A10!G^3JO_/Y9]?^?1^GI_K:/)U7_G\L^O\ SZ/T]/\ 6UH44 9_
MDZK_ ,_EGU_Y]'Z>G^MH\G5?^?RSZ_\ /H_3T_UM:%% &?Y.J_\ /Y9]?^?1
M^GI_K:/)U7_G\L^O_/H_3T_UM:%% &?Y.J_\_EGU_P"?1^GI_K:/)U7_ )_+
M/K_SZ/T]/];6A10!G^3JO_/Y9]?^?1^GI_K:/)U7_G\L^O\ SZ/T]/\ 6UH4
M4 9_DZK_ ,_EGU_Y]'Z>G^MH\G5?^?RSZ_\ /H_3T_UM:%% &?Y.J_\ /Y9]
M?^?1^GI_K:/)U7_G\L^O_/H_3T_UM:%% &?Y.J_\_EGU_P"?1^GI_K:/)U7_
M )_+/K_SZ/T]/];6A10!G^3JO_/Y9]?^?1^GI_K:/)U7_G\L^O\ SZ/T]/\
M6UH44 9_DZK_ ,_EGU_Y]'Z>G^MH\G5?^?RSZ_\ /H_3T_UM:%% &?Y.J_\
M/Y9]?^?1^GI_K:/)U7_G\L^O_/H_3T_UM:%% &?Y.J_\_EGU_P"?1^GI_K:M
MVZS+'B>2.23)^:-"@QVX)/\ .I:* "BBB@ HHHH **** "BBB@ HHHH *Y7X
MH?\ (BZG_P!LO_1J5U5<K\4/^1%U/_ME_P"C4H /A?\ \B+IG_;7_P!&O755
MROPO_P"1%TS_ +:_^C7KJJ "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ KE?BA_R(NI_
M]LO_ $:E=57*_%#_ )$74_\ ME_Z-2@ ^%__ "(NF?\ ;7_T:]=57*_"_P#Y
M$73/^VO_ *->NJH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **S]>U"32M'NKN*,221+D!L[
M1S@L<=@.3[ UAVOB349-%@N2UC-+>72V]M-"&\OEBI++N.<;2>&YZ<8H ZRN
M5^*'_(BZG_VR_P#1J5KZ!J4NI6LXN!&+BWN)+>0Q A6*G@@$DC((XS7._%G5
M+6U\)SV<LNRYN]ODIM)W;9$+<XP,#UH M_"__D1=,_[:_P#HUZZJO-? ?CS0
MM%\)V-G>7WDW,?F;T\F1L9D8CD*1T(KH/^%H>&/^@G_Y+R__ !- '545RO\
MPM#PQ_T$_P#R7E_^)H_X6AX8_P"@G_Y+R_\ Q- '545RO_"T/#'_ $$__)>7
M_P")H_X6AX8_Z"?_ )+R_P#Q- '545RO_"T/#'_03_\ )>7_ .)H_P"%H>&/
M^@G_ .2\O_Q- '545RO_  M#PQ_T$_\ R7E_^)H_X6AX8_Z"?_DO+_\ $T =
M517*_P#"T/#'_03_ /)>7_XFC_A:'AC_ *"?_DO+_P#$T =517*_\+0\,?\
M03_\EY?_ (FC_A:'AC_H)_\ DO+_ /$T =517*_\+0\,?]!/_P EY?\ XFC_
M (6AX8_Z"?\ Y+R__$T =517*_\ "T/#'_03_P#)>7_XFC_A:'AC_H)_^2\O
M_P 30!U5%<K_ ,+0\,?]!/\ \EY?_B:/^%H>&/\ H)_^2\O_ ,30!U5%<K_P
MM#PQ_P!!/_R7E_\ B:/^%H>&/^@G_P"2\O\ \30!U5%<!J'QBTRWU2V@M8_M
M=E)M\V[W,GE98@_(4R<#!XZYQ6K_ ,+0\,?]!/\ \EY?_B: .JHKE?\ A:'A
MC_H)_P#DO+_\31_PM#PQ_P!!/_R7E_\ B: .JHKE?^%H>&/^@G_Y+R__ !-'
M_"T/#'_03_\ )>7_ .)H ZJBN5_X6AX8_P"@G_Y+R_\ Q-'_  M#PQ_T$_\
MR7E_^)H ZJBN5_X6AX8_Z"?_ )+R_P#Q-'_"T/#'_03_ /)>7_XF@#JJ*Y7_
M (6AX8_Z"?\ Y+R__$T?\+0\,?\ 03_\EY?_ (F@#JJ*Y7_A:'AC_H)_^2\O
M_P 31_PM#PQ_T$__ "7E_P#B: .JHKE?^%H>&/\ H)_^2\O_ ,31_P +0\,?
M]!/_ ,EY?_B: .JHKE?^%H>&/^@G_P"2\O\ \31_PM#PQ_T$_P#R7E_^)H Z
MJBN5_P"%H>&/^@G_ .2\O_Q-'_"T/#'_ $$__)>7_P")H ZJBN5_X6AX8_Z"
M?_DO+_\ $T?\+0\,?]!/_P EY?\ XF@#JJ*Y7_A:'AC_ *"?_DO+_P#$UE:?
M\8M,N-4N8+J/[)91[O*N]S/YN& 'R!,C(R>>F,4 =_17*_\ "T/#'_03_P#)
M>7_XFC_A:'AC_H)_^2\O_P 30!U5%<K_ ,+0\,?]!/\ \EY?_B:/^%H>&/\
MH)_^2\O_ ,30!U5%<K_PM#PQ_P!!/_R7E_\ B:/^%H>&/^@G_P"2\O\ \30!
MU5%<K_PM#PQ_T$__ "7E_P#B:/\ A:'AC_H)_P#DO+_\30!U5%<K_P +0\,?
M]!/_ ,EY?_B:/^%H>&/^@G_Y+R__ !- '545RO\ PM#PQ_T$_P#R7E_^)H_X
M6AX8_P"@G_Y+R_\ Q- '545RO_"T/#'_ $$__)>7_P")H_X6AX8_Z"?_ )+R
M_P#Q- '545RO_"T/#'_03_\ )>7_ .)H_P"%H>&/^@G_ .2\O_Q- '545RO_
M  M#PQ_T$_\ R7E_^)H_X6AX8_Z"?_DO+_\ $T =517*_P#"T/#'_03_ /)>
M7_XFC_A:'AC_ *"?_DO+_P#$T =517*_\+0\,?\ 03_\EY?_ (FJFJ?%G0K6
MQEELY_M]RN-EOLDCW<@'YBF!@9/X4 =K17%:7\6="NK&*6\G^P7+9WV^R23;
MR0/F"8.1@_C5O_A:'AC_ *"?_DO+_P#$T =517*_\+0\,?\ 03_\EY?_ (FC
M_A:'AC_H)_\ DO+_ /$T =517*_\+0\,?]!/_P EY?\ XFC_ (6AX8_Z"?\
MY+R__$T =517*_\ "T/#'_03_P#)>7_XFC_A:'AC_H)_^2\O_P 30!U5%<K_
M ,+0\,?]!/\ \EY?_B:/^%H>&/\ H)_^2\O_ ,30!U5%<K_PM#PQ_P!!/_R7
ME_\ B:/^%H>&/^@G_P"2\O\ \30!U5%<K_PM#PQ_T$__ "7E_P#B:/\ A:'A
MC_H)_P#DO+_\30!U5%<K_P +0\,?]!/_ ,EY?_B:/^%H>&/^@G_Y+R__ !-
M'545RO\ PM#PQ_T$_P#R7E_^)H_X6AX8_P"@G_Y+R_\ Q- '545RO_"T/#'_
M $$__)>7_P")H_X6AX8_Z"?_ )+R_P#Q- '545RO_"T/#'_03_\ )>7_ .)H
M_P"%H>&/^@G_ .2\O_Q- '545P&N?&+3+#R/[-C_ +5W[O,^9H?+QC'WDYSD
M_E6K_P +0\,?]!/_ ,EY?_B: .JHKE?^%H>&/^@G_P"2\O\ \31_PM#PQ_T$
M_P#R7E_^)H ZJBN5_P"%H>&/^@G_ .2\O_Q-'_"T/#'_ $$__)>7_P")H ZJ
MBN5_X6AX8_Z"?_DO+_\ $T?\+0\,?]!/_P EY?\ XF@#JJ*Y7_A:'AC_ *"?
M_DO+_P#$T?\ "T/#'_03_P#)>7_XF@#JJ*Y7_A:'AC_H)_\ DO+_ /$T?\+0
M\,?]!/\ \EY?_B: .JHKE?\ A:'AC_H)_P#DO+_\31_PM#PQ_P!!/_R7E_\
MB: .JHKE?^%H>&/^@G_Y+R__ !-'_"T/#'_03_\ )>7_ .)H ZJBN5_X6AX8
M_P"@G_Y+R_\ Q-'_  M#PQ_T$_\ R7E_^)H ZJBN5_X6AX8_Z"?_ )+R_P#Q
M-'_"T/#'_03_ /)>7_XF@#JJ*Y7_ (6AX8_Z"?\ Y+R__$T?\+0\,?\ 03_\
MEY?_ (F@#JJ*Y7_A:'AC_H)_^2\O_P 34/A7XAQ>*M?N]/@M-D,*/(ESYA/F
M*'"@[2HQD-GKQ0!V%%%% !1110 4444 %%%-D9EC8JN]@"0N<9/I0!7U**ZF
ML95LIEM[K@QNR[ER"#@CT/3VS7(Z?X/U%89+J06]O?"YCFCMPY,;;&8Y=@.I
M#D9 . %^@TM)O=7U2XUNUN)XK*XAEC6/R5$@A5D5B 2!N.#U/&>V.*2WUJXL
M[?Q TERU[#8<0W$B*&9]F60[0%)#8' [X- &IH&FRZ;:SFX,9N+BXDN)!$25
M4L> "0"< #G%-USPOIGB3R/[2MOM/D[O+_>,N,XS]TCT%96N76IZ/:VEPVH.
MTN88S"+=1"QRHD:63'RYR<'*C@  U9FU34H_%UC:2)%#831S%55MSR% OS'C
MY1\W 'OGTH K?\*N\,?] S_R8E_^*H_X5=X8_P"@9_Y,2_\ Q568)KO4K6>\
M;5&L+))YB'CCC+>6AVCYF! &59CD$G(Y %8R^(-7O;",_:?LEQ#IC7S%85_?
M,&(7<&!PI"DD#!^;KQ0!H?\ "KO#'_0,_P#)B7_XJC_A5WAC_H&?^3$O_P 5
M3_$>NZC!HMK>V$<<4,GDO)-(V64.ZC:JXY/S=3V]^DGB/[='>6D-CJES!<7D
MP1(@D+1QHHR[_,A)X'3=U8?2@"#_ (5=X8_Z!G_DQ+_\51_PJ[PQ_P! S_R8
ME_\ BJZJB@#E?^%7>&/^@9_Y,2__ !5'_"KO#'_0,_\ )B7_ .*KJJ* .5_X
M5=X8_P"@9_Y,2_\ Q5'_  J[PQ_T#/\ R8E_^*KJJ* .5_X5=X8_Z!G_ ),2
M_P#Q5'_"KO#'_0,_\F)?_BJZJB@#E?\ A5WAC_H&?^3$O_Q5'_"KO#'_ $#/
M_)B7_P"*KJJ* .5_X5=X8_Z!G_DQ+_\ %4?\*N\,?] S_P F)?\ XJNJHH Y
M7_A5WAC_ *!G_DQ+_P#%4?\ "KO#'_0,_P#)B7_XJNJHH Y7_A5WAC_H&?\
MDQ+_ /%4?\*N\,?] S_R8E_^*K8\075[9Z7-+81QO.JL=TS85 %)+8QSTZ>_
M45FM<7=QX:L]1EU=M/06*S2R)%&2SE =Q+ C'^R .O7M0!#_ ,*N\,?] S_R
M8E_^*H_X5=X8_P"@9_Y,2_\ Q56H=4O[F#0(W M;RZ3SKA=N0%6/)&#T^9D]
MQTS4%GJ-_:ZY<6+W+ZBPM#*%N(U@W3 _=B^494@\GYMO'- #/^%7>&/^@9_Y
M,2__ !5'_"KO#'_0,_\ )B7_ .*IMIKVI?V'KDURT9O8+I[>%81E%8A @&1S
M\S=3U_2I]8FU'2I[.1=2:XEFNHX4LO)15D0X#=BV0,L6! &.E $7_"KO#'_0
M,_\ )B7_ .*H_P"%7>&/^@9_Y,2__%5'IFO7DVH:?<27.^TU"YN+=;8HN(@F
M[800-V3Y9SDD?-VQ5V'5-2/BV6TG6&&T%I)+%&K9+8D50S-CC(SP.@/.3T *
MW_"KO#'_ $#/_)B7_P"*H_X5=X8_Z!G_ ),2_P#Q50^$];O[[4(8[F[^T++:
MM+*KHB*D@< "$J/WB8)^8;AP/FR<5V% '*_\*N\,?] S_P F)?\ XJC_ (5=
MX8_Z!G_DQ+_\57544 <K_P *N\,?] S_ ,F)?_BJ/^%7>&/^@9_Y,2__ !5=
M510!RO\ PJ[PQ_T#/_)B7_XJC_A5WAC_ *!G_DQ+_P#%5U5% '*_\*N\,?\
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
MO#'_ $#/_)B7_P"*KJJ* .5_X5=X8_Z!G_DQ+_\ %4?\*N\,?] S_P F)?\
MXJNJHH Y7_A5WAC_ *!G_DQ+_P#%4?\ "KO#'_0,_P#)B7_XJNJHH Y7_A5W
MAC_H&?\ DQ+_ /%4?\*N\,?] S_R8E_^*KJJ* .5_P"%7>&/^@9_Y,2__%4?
M\*N\,?\ 0,_\F)?_ (JNJHH Y7_A5WAC_H&?^3$O_P 51_PJ[PQ_T#/_ "8E
M_P#BJZJN?\1:EJ-CJ6EI;K%'937,<4LI.7<L6R@7' P.3G/(QWH J_\ "KO#
M'_0,_P#)B7_XJC_A5WAC_H&?^3$O_P 55C5I[_3=2L72_:<W5XL2V(B0)Y6/
MF/0OE1\Q;=CV'2II+B\OK[4XX;MK6WMC%'NCB$C;L;WVY!^;#(.A QTS0!1_
MX5=X8_Z!G_DQ+_\ %5M:+H-AX=M7MM/@^SPLYD*[V;YB ,Y8GL!6!'KFJOX9
MU"XMC'<3V\\R":Y C=(U!(9T 'SXP-I"]03@5H1ZE>7*Z'#%*JS7%N;B9V0$
M$",#D<<;W4\8Z8H WZ*XS4M:U#09-1B%ZVI>38B5I)8T'DS,X5!\B@8();:<
MGY>O-:6G37\ESJ^EF_,D]N(C'=R0J6 =>?E4!200V..XSG'(!T-%<WI\FH7M
MYJEC'J<C0VTL2K>F&,R9*YDC&%"9'R\[3C<01Z6_"]]<7UI=&:;[5'%=210W
M)4 S1C'S<  \[AD#!VT ;-%%% !1110!AW/A^Y9M8DM-0^RS:@\;>9Y6XQ!4
M52!\PY('7C&?QHAT"X73X;&2XM5MHI8G6.VM6C&U&W%3F1LY('/USG-;E% &
M+K6A76M+/;-J 33K@*)(# "X /(1\C ..X8CG'M/J&D/>:I9WL=QY+VL4T:J
M4W9+A<'KVV].^:TZ* .>O/#-Q-8Z;9PWD*6MHJAX9[<R+.R@8+8=>A&<<@GK
MG%&I>&[O4B93J$<-Q+;-:7#QVYVO&6S\H+_*PY&22.>E=#10!F:QHB:GH_\
M9\;_ &>,&(JVW=@(ZL!C/^SBI9-,\S6HM0:3/E0-"D17H6926SG_ &0.E7J*
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@""]M_MEG/!NV>;&R;L9QD8
MS6'/X7NFCTJ*._A,%A$J"&XMF='D4 "0@2+R,< Y Z]<8Z.B@#.ATV;[<;N>
MY#S?9Q /*CV*IW$LP!+=?EX_V>^>*UKH=U_:5M>7]^MX]K&T<(C@\K[V-S-\
MQR2 .F!UXK:HH Q(?#7ER2$W)9)-0-^RA,9^7 3KV8*V?;IWIBZ'J$>M3Z@+
M^VD:0[4$UHS-%'_<4B0 >I..3UZ 5O44 8-CX7-GJ44QNM]I;RS3V]OY>"C2
M9W9;/(&Y\# ^]U.*M7.AI=:PU[))E&LVM&AV]0S DYS[8Z5J44 8&E>&9K*Z
ML9+F^%U'80M!:HL/EE5.!ECN.XX4#@ >U;]%% !1110 4444 %%%% !1110
M4444 %%%% !6=JFD_P!I76G3>;Y?V.?S]NW._P"5EQUX^]^E:-% &%8Z'J%I
MJL][)?VMPTS?,7M&WK&#Q&K>9A0/IU.3DU/%I-U::;'!:WPCN5E:9YGA#K(6
M8LP9<YQ\W9@>!SVK6HH P5\+DZ#J=@]UOGU R/+<>7@!G&,A<\  #C/;K5A=
M&GA^UR0W@CN)8(X(I&BW"(*#SC//+$_EUK6HH YN'PK<?V+/ILUY 8I!N$L-
MNRR>;N#>8S-(VXY&3Z^M:>D:6^GO=SSSK<W=U()))$C\M>%"JH7)P !Z^M:-
M% &)9Z#=:;I\D%I?K%,UT]SYC0!E(9BQ0KG..>H(/'X5;T32?['M9$:8W$\T
MK3S3%=N]V.20.PZ #VK0HH **** "BBB@ HHHH **** "BBB@ HHHH ****
M,6YT&X:;5YK6_P#LL]^D:K((MQAV@@D<\D@GTQ4</AVX72O[.DN;5;0%,+;6
MS(=H<,P):1LEN<GKR2<UO44 8^LZ/>:JMQ;KJ(AL;F/RI8C &<*<AMC9&"0<
M?,&QVJ6XT59;[3+B.3REL0ZK'MW;@R;1SGM6G10!SMUX7GFTO3[&.]C$-N=T
MZ3P%TN6Z_, Z\;LMMR0>,Y'5^H>'[V_:.?\ M"&&\\F2VDDCMCL:-\' 4N<,
M" 0<GOQ6_10!@7GANXDFT[[+=PQVMC&JQ6US;F5=XX60X=<D <9Z'GKC#-0\
M*S:C-*[WJ(MU%'%>(D!Q*$8D%,M\A()'.[BNBHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** ([B+S[>6+.W>I7..F1BN=D\)W7V#2;.._A-O8QJ#%/;
M,Z3.H&UF D'3&0.1GGGC'344 9T.FS_;X[NYN5DE2W,(6*,HH)8$L 6;KM48
M]JJVVA7;:E:W=_J O#:*XA5(!&<L,%G()!... H]JVZ* ,-?#)6XN9/M1V3W
MR7K)L_NA<)G/JH.?;I37T.__ +<EU%;ZU<D;(DFM&<PIW52) ,GJ3C)^@ K>
MHH P8/"YAU19C=;[..YDO([;R\,)7!!);/(&YB!C^+J<4:?H=_9:G/>27UK<
M-.^79K1A((\\1JWF8 'T]SDUO44 9UOI/D:Y>:CYN[[1%'%Y>W[NPMSG/.=W
MIVK1HHH **** "BBB@ HHHH **** "BBB@ HHHH *S]6TK^U#9?O?*^S7*7'
MW<[MN?EZ\=>M:%% &%;Z)J%OK%Q??;[:4S-@>;:,7CBSQ&K"0 #WV\GDYXJS
M'I-Q:V,D=M>"*Z>X:X:9H@RMN<G:5)Z8PO!!X'-:E% &+;^'3'I^J12W/FW6
MH[S-.L>U02NT;4R<  #N2?6GVNAR6@9H[H"=;)+2&0QY$94'Y\9YR2#C_9%:
M]% '-V_A6X&D7.FW-Y!+!.C;Y(K9DF:0X_>,QD;)R/3TZ 8J9?#]ZMKJ3#4U
M34KW8#=QP85%4 #";NN-W.>K>V*WJ* .;D\-Z@VCC38[^TMK<%1M@M'4,G.Y
M6_>Y.XXR00>OK6SIMO<6MN(IY+=]N%06T!A55 P!M+-5NB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH ***^:+?Q)=0_$R#XA-97L.C
M:AJ\^BG4D:,02695882$W&3(FA9^4P=WX4 ?2]%?)VDV&FMX>\0^'%US2/L:
MQ6MR/%ELDOV>Y9KAFC@U-?NAV)(+,<@$ Y^Z=KP+XNL=-\7>$_$.K6UCX8T;
M^R=0L4GA9DL9)5N=Y,!?HC@LR+Z?*.@H ^EZ*^.=)L]1T"W\&ZVD,\5]X=\.
M-K2P;2&>$Z@PD![@-!*Y^F*H>(H;J:U\4ZK>CR)M>L=/U>Z2;YHT2;4"T889
M^ZL?E#!/:@#[5J"^O[;3+9KB\N(K2W4@-+.X1 20 "3QR2!]2*^:_'C>'=%A
MTC5=+U'PCKWV.%XWT"QM?L]M=^9,-TMCY;OLNQMC7*EF'#':, ]G^T1#8M!H
MNHWE[H\<VG0W5RFC>(D/V6_4HBNH8' F4'Y ,G+<<9- 'M%%?/M[JVEP_&+X
M?W*2+I6L7&BRQS:??7Q>:UF>",06["1LJV3@ @%F)."2:\M::Y;P_'-IC2&Y
M;16'BYX?]<6;45\W[3CG>5\W.[YMF[^'- 'VI17@WAE8U^&/Q?.FB >&C+J)
MTO[+CR"GV;Y_*QQLW9QMXSNQ7G;)<Z;8^*M=MR6AA\-Z=IEY'V\BYTX*'_X#
M,L)]E+].: /KVBOEG5K.YT62Q\,VL3I!\0M)TJ,2A2%AEC"1W/3KF$@GODC\
M;WA33/#T.H?$>WN-6T'1+I=1U.W@*V(DU>VA\D+YD+B3>(U7=\JIT5SN'8 ^
MF**^3]2L-,O/@?XTMWTC0;J30Y[:&VUK1XR]K<,QA#O%N!"2;0HD*'#'KFNH
MOM$\-:/^T%/97*>%]'TN#3;0VUIJMC$8R3,Q9;8%T6.0DL=P#<DG!H ^B**^
M4O /]E[O#7]D&W'C;_A+IOM7V3'VK[#YK^?YVWGR]N/O\=,5Z#XX?0?^%N:@
MOQ!^QCPY_8?_ !*QJA'V<MO_ -(,>>//^Y]WY]NW'6@#VRBODS1;77K#5/#V
MK7XN%U/1O"D%Q<QW()E-HUW<QN&'7(A</SSF,9K;U80K^RWX&^UA!:?;+$S^
M=CR_+\XYW9XVX]>* /IBBOE#Q8FEO-J0T>73X? C>*])%K)-&)-+23RY?M1"
M[E1HMVS<%8*>>174R?\ "*)XZL8_$\V@S^#UT)AI$MG"L6ER7'GM]H:! [J)
MN@PK%O3F@#Z&HKG+#Q-H^NZ#JYL;NXDM]-,EE=-Y=PLT4B1AF7H)"P5@<K\V
M3P<UX%;V_ARU\,_%R!KK2WTO[- ;:^T>;[)ID]P+1]D,<8D8&0,,LOF/O)7(
M! ! /J"BN!^%OC31+_PSX4T:UU&&[U%M%AG\JWS(%6-4C?<R@JI5R%()!SVK
MS'Q5?:3K?Q(\0S^%;VWL->TC2]2M6>.Y O\ 5-0DB.V%$+>8ZPE1M." 5"J,
M*, 'T917RGH?]@-X7\:&UN;2W\,-X9L=[17(ABDU,6[D(2K /(?XT.<G&X$X
MKH-=LM \>?#'X;Z%:6NFZEK6L6]GIW]H+%'--9P0QH]SM?JK*,C;D8+GI0!]
M&45%;6\=G;Q00H(X8D"(B]%4# 'Y5+0 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% %+
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
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 5C^*/%FE^#=/COM7N&M[>29+=#'#),SR.<*H1%9B
M2?05L5Y_\:?"FJ^,/#VD6FD1NUQ#K%I<R21O&K11HY+2#S/E)7KC!SZ&@#4N
MOBGX:L5F^V7TUB\-D-0DBN[*>&18#*8@Q1T#9+C:%QN.1@$$9?-\3/#L-G9W
M#7<Y:\FDMX+1+&=KMY(P3(OV<)YH*@9.5X!!/!&>$\7?#?4M2\87\U[IMWXL
MT:;P]!I\LC74%O<32K>M*=NWRU#HI5QPBG:!NSFL[PWX*\;:#K_A[Q'J-MJ'
MB%+![ZS2QNKNWDU&&UD.89'D+K$\GRX;#\!EP3@@ 'I\WQ*\-6]YH-K)JD8N
M-<&[3T$;GS1P.<+\G+ ?/CGCJ"*TM%\3:9X@N-3@T^Y^T2Z;<FTNE\ME\N4
M$KR!G@CD9%>,>-/AWXY\>:GKWB#[-::-?VMO:#2+.8K/*7A;S_DE255C8RDK
MEU.0!T S75_"W3=?T'Q)XJ.J>';NT@UK4WU".Z6XMI(HE,2_*^)=^[((X0CW
MQ0!T<WQ6\+6\9:35-A&H2:64-O+O%PB[G0KMR J\EL;<$<\BG:7\3_#NKZ%=
MZU;W-TNDVMN;N2]N-.N8(C$ 261GC ?H>%R:X[6/A5-/\7->\0V^G[[6\\/O
M'%,TRA1?OF)L)G()B5 6(QR>:YG2?A]XH;X6:3X/BT/4M,NIIK6/5+S4K^.Z
MM4A1B[F*,7)(7*J"B!,AO;@ ]5F^*GAB#1=(U7[?+-9ZM(8;'[/9SRR3N,Y4
M1HA?(VGJO:K+_$;P['X,_P"$K.H_\2#&?M8AD)_UGEXV!=^=_P N,9!KQM_A
M!XK;5M/TFX@,FC6?B-]234M,N!9[()HB9/+7S3(FR0D 9)Y[BMN[\ ^);K]G
M&X\)/I*KKD#+#'##+$@N42Z5Q+N#!0S("Q+$$MDGDT >AM\3O#T-UI-K<W-U
M8W.JSM;V<-]IUS;O*Z[,C$D8(&9$&XX!)P"3FJLWQB\)PR11C4)[B:66XA2&
MUT^YGD+0$";Y4C) 4D<XP><$X-<1XI^&NH>-K[PTD&EZMI%G9P:DCS:OJ*7-
MQ;S.L+6\N_SY6(\R/(P3C9T'&<'P?X%\9^%_$.@>(+OPQ-=20W.KS7%G9W=M
MOC^T,ICY>55(//0DC'(H ]9N/BYX1M[>*X;6HV@ET]M422.*1U-LK;6?*J>0
M>-OWL\8JS9_$SPS?&T\K5H@MU8R:E%)*CQI]G0X>1F8 (%/4,01@\<5X1<?
MWQ;;Z2\4>GK<7%QX?OHI4CN8]D=S/<^:L*EB.B\%ONY!YY%:&K? 7Q%J>K:A
MI\'EVVD3:+,MM<3S*R0W$LD,C6Y5?F"F5)6W %0LG<C! /;/#?C[1?%DZPZ=
M-<L\D NH_M-C/;"6$D#S(S*BAU^9>5S]X>HJK:_%3PS>:P=,COY5N?MSZ;YD
MMG/' ;I,[H1,R",O\IPH;)QQFN=\$V'B:3XB/JE[I6J:'HLFCB.:QO-32Y@%
M\95),,:S2!5" @8"#'89KE'^'?B75+?4_#TNC2V=K>>,9=;.K27$!A6U\WS
M559#)YAV@!2@ W<D8H ],TWXJ^&=6M;N[M[VX^P6BR--?36%Q%:J(SM?]\\8
M0D'C ;)[5J>&_%VF>+(7DTV2=@BI(5N;2:V<HX.QPLJJ2C8;# 8.TX/!KP_2
M?A1X@D^%WB'PO+HVHV>KW;32I=7.II)I\@%R)418EG;8S*,%O*'4Y///K=GX
MH\3W<^G!_!<]G!-*D=TUSJ-OOMP5)>0*C,'0':!R&.3E5 &0"WK7Q#T#P]K%
MOIFH7S07<\D<*_Z/*\2R2$B-'D52B,V#@,P..>E3:+XXT/Q%K6I:3INH1WM]
MIVW[2D2L53<2!A\;6Y5@=I."I!P017%?%3PSKWB37M%.DZ7<?:+._MKF+4GO
MU:QCC0L7,EL[8,HR=K+&Q^Z0X(P*"R>(O#'Q$\<>*3X0U.ZL[JQ@BLTCE@=I
MI(58 %8Y'=5=BN#M. <L!@T >D>)O&&D^#[1;G5;AX8V#$+#!).Y55W.VR-6
M;:H&2V,#N161/\7/"-O<6,3:PC&]BAFBDCAD>-4E;;$TCJI6,,>!O*U0^)\G
MBK4_!]OI^BZ-,]SJB^3J+V\T#/90LO[S9YCHKOR5!R!U/I7G6K?"W7GAUW2-
M(\.S6FE:];:1;PRSW4 ;3EM'PPF"R'<2HW Q[\YYYS@ ]7C^*WA634+JR_M9
M8Y[>![EC+#(B/$C;6>-V4+* V1\A;D&M+PQXRTCQA'>-I5RTS6<QM[F&:"2"
M6&0 ':\<BJR]>X]?2O/]/A\3MXZUOQ3J7@[4+B^AMI+'1;5+JR6%8 =P+OYY
M822L!D[<(..>:VO@_H.H:/I^J7.M:9>66O:E<_;=0N+DP>7-*PQMB$4LF$0
M*-V">O<@ 'H-%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
'!1110!__V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>16
<FILENAME>img01.jpg
<TEXT>
begin 644 img01.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_X0 L17AI9@  34T *@    @  0$Q  (
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
M4[CCVS^5?2'PI^'*>!-4U"4>)(=7:\B1!&@P4VDG/WCZUYG\)(TF_:!UJ*5
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
MVHG78Q=R+!9SS"*)/)#Q2 ID#S%.5DW?PM@=N]=)'I-E'$\4=K"L<D(@9%3
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
M!K:*95^;]T;F1H_FSN&PL5(.3V[U&/!NC>2T3P32(0BKON)"8U5@RJASE0"
M<#T%%% "MH%M#=6<,+S"$3_:7669Y2[(/EY9C@ G/X"KFH:+::F\4MQYJ30A
ME26"5HW4-C<,J0<' X]J** '_P!CV/\ 9<>G?9U^QQ;-D0X V$%?R(!J:>R@
MN)[>:9 \ELY>)C_ Q4J3^1(HHH DDB66-HY/F1E*L/4&LBX\)Z3<K&C0R(B0
M+;%8IGC$D2]$;!^8#W]3110!H'3K4W%M/Y2B2U1DA(XV*P ( ^@'Y4Y;*!+Z
M2\6,"XEC6-W]54D@?AN/YT44 6**** "BBB@ HHHH **** "BBB@ HHHH JS
MV$-S>VMU)N\RU+&/!XRR[3G\#5JBB@ HHHH **** "BBB@ HHHH **** "BB
<B@ HHHH **** "BBB@ HHHH **** "BBB@#_V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364756425376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document And Entity Information - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Feb. 17, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentInformationLineItems', window );"><strong>Document Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001474735<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">GENERAC HOLDINGS INC.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2022<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2022<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-34627<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">20-5654756<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">S45 W29290 Hwy 59<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Waukesha<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">WI<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">53189<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">262<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">544-4811<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, $0.01 par value<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">GNRC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NYSE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 13,014,830,988<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">61,887,460<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">Deloitte & Touche LLP<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">34<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Milwaukee, Wisconsin<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364756597744">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 132,723<span></span>
</td>
<td class="nump">$ 147,339<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, less allowance for credit losses of $27,664 and $12,025 at December 31, 2022 and 2021, respectively</a></td>
<td class="nump">522,458<span></span>
</td>
<td class="nump">546,466<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">1,405,384<span></span>
</td>
<td class="nump">1,089,705<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other assets</a></td>
<td class="nump">121,783<span></span>
</td>
<td class="nump">64,954<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">2,182,348<span></span>
</td>
<td class="nump">1,848,464<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">467,604<span></span>
</td>
<td class="nump">440,852<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_FiniteLivedCustomerListsNet', window );">Customer lists, net</a></td>
<td class="nump">206,987<span></span>
</td>
<td class="nump">238,722<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_FiniteLivedPatentsAndTechnologyNet', window );">Patents and technology, net</a></td>
<td class="nump">454,757<span></span>
</td>
<td class="nump">492,473<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherIntangibleAssetsNet', window );">Other intangible assets, net</a></td>
<td class="nump">41,719<span></span>
</td>
<td class="nump">66,436<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_TradeNamesNet', window );">Tradenames, net</a></td>
<td class="nump">227,251<span></span>
</td>
<td class="nump">243,531<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">1,400,880<span></span>
</td>
<td class="nump">1,409,674<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred income taxes</a></td>
<td class="nump">12,746<span></span>
</td>
<td class="nump">15,740<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent', window );">Operating lease and other assets</a></td>
<td class="nump">175,170<span></span>
</td>
<td class="nump">121,888<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">5,169,462<span></span>
</td>
<td class="nump">4,877,780<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermBorrowings', window );">Short-term borrowings</a></td>
<td class="nump">48,990<span></span>
</td>
<td class="nump">72,035<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">446,050<span></span>
</td>
<td class="nump">674,208<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Accrued wages and employee benefits</a></td>
<td class="nump">45,741<span></span>
</td>
<td class="nump">72,060<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualClassifiedCurrent', window );">Accrued product warranty</a></td>
<td class="nump">89,141<span></span>
</td>
<td class="nump">59,052<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Other accrued liabilities</a></td>
<td class="nump">349,389<span></span>
</td>
<td class="nump">272,622<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent', window );">Current portion of long-term borrowings and finance lease obligations</a></td>
<td class="nump">12,733<span></span>
</td>
<td class="nump">5,930<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">992,044<span></span>
</td>
<td class="nump">1,155,907<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtAndCapitalLeaseObligations', window );">Long-term borrowings and finance lease obligations</a></td>
<td class="nump">1,369,085<span></span>
</td>
<td class="nump">902,091<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income taxes</a></td>
<td class="nump">125,691<span></span>
</td>
<td class="nump">205,964<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities', window );">Operating lease and other long-term liabilities</a></td>
<td class="nump">312,916<span></span>
</td>
<td class="nump">341,681<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">2,799,736<span></span>
</td>
<td class="nump">2,605,643<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount', window );">Redeemable noncontrolling interest</a></td>
<td class="nump">110,471<span></span>
</td>
<td class="nump">58,050<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, par value $0.01, 500,000,000 shares authorized, 72,701,257 and 72,386,017 shares issued at December 31, 2022 and 2021, respectively</a></td>
<td class="nump">728<span></span>
</td>
<td class="nump">725<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Additional paid-in capital</a></td>
<td class="nump">1,016,138<span></span>
</td>
<td class="nump">952,939<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury stock, at cost, 11,284,350 and 8,667,031 shares at December 31, 2022 and 2021, respectively</a></td>
<td class="num">(808,491)<span></span>
</td>
<td class="num">(448,976)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_ExcessPurchasePriceOverPredecessorBasis', window );">Excess purchase price over predecessor basis</a></td>
<td class="num">(202,116)<span></span>
</td>
<td class="num">(202,116)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">2,316,224<span></span>
</td>
<td class="nump">1,965,957<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(65,102)<span></span>
</td>
<td class="num">(54,755)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders&#8217; equity attributable to Generac Holdings Inc.</a></td>
<td class="nump">2,257,381<span></span>
</td>
<td class="nump">2,213,774<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Noncontrolling interests</a></td>
<td class="nump">1,874<span></span>
</td>
<td class="nump">313<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Total stockholders&#8217; equity</a></td>
<td class="nump">2,259,255<span></span>
</td>
<td class="nump">2,214,087<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders&#8217; equity</a></td>
<td class="nump">$ 5,169,462<span></span>
</td>
<td class="nump">$ 4,877,780<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_ExcessPurchasePriceOverPredecessorBasis">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The element that represents the excess purchase price over predecessor basis.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_ExcessPurchasePriceOverPredecessorBasis</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_FiniteLivedCustomerListsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of accumulated amortization, as of the balance sheet date of an asset having a finite beneficial life acquired in a business combination or other transaction representing a favorable existing relationship with customers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_FiniteLivedCustomerListsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_FiniteLivedPatentsAndTechnologyNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the carrying amount of finite-lived patents and technology as of balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_FiniteLivedPatentsAndTechnologyNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, and other liabilities classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease and other assets after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_TradeNamesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net carrying amount as of the balance sheet date of indefinite-lived and finite-lived tradenames on the statement of financial position representing the rights acquired through registration of a trade name to gain or protect exclusive use thereof.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_TradeNamesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669686-108580<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6904-107765<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtAndCapitalLeaseObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt and lease obligation, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtAndCapitalLeaseObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt and lease obligation, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which is directly or indirectly attributable to that ownership interest in subsidiary equity which is not attributable to the parent (that is, noncontrolling interest, previously referred to as minority interest).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.31)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated amortization of finite-lived and indefinite-lived intangible assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrualClassifiedCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12524-110249<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 25<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126907644&amp;loc=d3e11281-110244<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualClassifiedCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>As of the reporting date, the aggregate carrying amount of all noncontrolling interests which are redeemable by the (parent) entity (1) at a fixed or determinable price on a fixed or determinable date, (2) at the option of the holder of the noncontrolling interest, or (3) upon occurrence of an event that is not solely within the control of the (parent) entity. This item includes noncontrolling interest holder's ownership (or holders' ownership) regardless of the type of equity interest (common, preferred, other) including all potential organizational (legal) forms of the investee entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph (16)(c)<br> -URI https://asc.fasb.org/extlink&amp;oid=122040564&amp;loc=SL6540498-122764<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=122040564&amp;loc=SL6540498-122764<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph (12)(c)<br> -URI https://asc.fasb.org/extlink&amp;oid=122040564&amp;loc=SL6540498-122764<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=122040564&amp;loc=SL6540498-122764<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21930-107793<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21914-107793<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568740-111683<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21711-107793<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4590271-111686<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 25: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568447-111683<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=6405834&amp;loc=d3e23315-112656<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364756313040">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets (Parentheticals) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts receivable, allowance for doubtful accounts</a></td>
<td class="nump">$ 27,664<span></span>
</td>
<td class="nump">$ 12,025<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="nump">500,000,000<span></span>
</td>
<td class="nump">500,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued (in shares)</a></td>
<td class="nump">72,701,257<span></span>
</td>
<td class="nump">72,386,017<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockShares', window );">Treasury stock, shares (in shares)</a></td>
<td class="nump">11,284,350<span></span>
</td>
<td class="nump">8,667,031<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364758235808">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Comprehensive Income - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 4,564,737<span></span>
</td>
<td class="nump">$ 3,737,184<span></span>
</td>
<td class="nump">$ 2,485,200<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Costs of goods sold</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">3,042,733<span></span>
</td>
<td class="nump">2,377,102<span></span>
</td>
<td class="nump">1,527,546<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,522,004<span></span>
</td>
<td class="nump">1,360,082<span></span>
</td>
<td class="nump">957,654<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Selling and service</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">496,260<span></span>
</td>
<td class="nump">319,020<span></span>
</td>
<td class="nump">246,373<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">159,774<span></span>
</td>
<td class="nump">104,303<span></span>
</td>
<td class="nump">80,251<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">194,861<span></span>
</td>
<td class="nump">144,272<span></span>
</td>
<td class="nump">118,233<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts', window );">Acquisition related costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,459<span></span>
</td>
<td class="nump">21,465<span></span>
</td>
<td class="nump">1,411<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangibles</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">103,320<span></span>
</td>
<td class="nump">49,886<span></span>
</td>
<td class="nump">32,280<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">955,674<span></span>
</td>
<td class="nump">638,946<span></span>
</td>
<td class="nump">478,548<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">566,330<span></span>
</td>
<td class="nump">721,136<span></span>
</td>
<td class="nump">479,106<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Other (expense) income:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(54,826)<span></span>
</td>
<td class="num">(32,953)<span></span>
</td>
<td class="num">(32,991)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentIncomeNonoperating', window );">Investment income</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,129<span></span>
</td>
<td class="nump">1,415<span></span>
</td>
<td class="nump">2,182<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="num">(3,743)<span></span>
</td>
<td class="num">(831)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(424)<span></span>
</td>
<td class="nump">2,759<span></span>
</td>
<td class="num">(2,106)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Total other expense, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(57,864)<span></span>
</td>
<td class="num">(29,610)<span></span>
</td>
<td class="num">(32,915)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">508,466<span></span>
</td>
<td class="nump">691,526<span></span>
</td>
<td class="nump">446,191<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">99,596<span></span>
</td>
<td class="nump">134,957<span></span>
</td>
<td class="nump">98,973<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">408,870<span></span>
</td>
<td class="nump">556,569<span></span>
</td>
<td class="nump">347,218<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest', window );">Net income attributable to noncontrolling interests</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">9,368<span></span>
</td>
<td class="nump">6,075<span></span>
</td>
<td class="num">(3,358)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income attributable to Generac Holdings Inc.</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">399,502<span></span>
</td>
<td class="nump">550,494<span></span>
</td>
<td class="nump">350,576<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract', window );"><strong>Other comprehensive income (loss):</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Foreign currency translation adjustment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(48,841)<span></span>
</td>
<td class="num">(41,030)<span></span>
</td>
<td class="nump">4,948<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Net unrealized gain (loss) on derivatives</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">38,494<span></span>
</td>
<td class="nump">20,529<span></span>
</td>
<td class="num">(14,285)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax', window );">Other comprehensive income (loss)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(10,347)<span></span>
</td>
<td class="num">(20,501)<span></span>
</td>
<td class="num">(9,337)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest', window );">Total comprehensive income</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">398,523<span></span>
</td>
<td class="nump">536,068<span></span>
</td>
<td class="nump">337,881<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest', window );">Comprehensive income (loss) attributable to noncontrolling interests</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">11,179<span></span>
</td>
<td class="nump">5,496<span></span>
</td>
<td class="num">(364)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive income attributable to Generac Holdings Inc.</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 387,344<span></span>
</td>
<td class="nump">$ 530,572<span></span>
</td>
<td class="nump">$ 338,245<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Net income attributable to Generac Holdings Inc. per common share - basic: (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 5.55<span></span>
</td>
<td class="nump">$ 8.51<span></span>
</td>
<td class="nump">$ 5.61<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average common shares outstanding - basic: (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">63,117,007<span></span>
</td>
<td class="nump">62,686,001<span></span>
</td>
<td class="nump">62,280,889<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Net income attributable to Generac Holdings Inc. per common share - diluted: (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 5.42<span></span>
</td>
<td class="nump">$ 8.30<span></span>
</td>
<td class="nump">$ 5.48<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average common shares outstanding - diluted: (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">64,681,357<span></span>
</td>
<td class="nump">64,253,408<span></span>
</td>
<td class="nump">63,737,734<span></span>
</td>
</tr>
<tr><td colspan="4"></td></tr>
<tr><td colspan="4"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">Represents the non-cash write-off of original issue discount and deferred financing costs due primarily to a voluntary prepayment of debt.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 25<br> -Paragraph 23<br> -URI https://asc.fasb.org/extlink&amp;oid=123586518&amp;loc=d3e1043-128460<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAcquisitionRelatedCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e557-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income (loss) and other comprehensive income (loss), attributable to noncontrolling interests. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(21))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4613674-111683<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569643-111683<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126972273&amp;loc=d3e12355-112629<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126972273&amp;loc=d3e12317-112629<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnExtinguishmentOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941158&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeNonoperating">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income from investments (for example, dividends) not considered a component of the entity's core operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeNonoperating</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of Net Income (Loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569643-111683<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442407-227067<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=124507222&amp;loc=d3e1436-108581<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364750953184">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statements of Stockholders' Equity - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Cumulative Effect, Period of Adoption, Adjusted Balance [Member] </div>
<div>Common Stock [Member]</div>
</th>
<th class="th">
<div>Cumulative Effect, Period of Adoption, Adjusted Balance [Member] </div>
<div>Additional Paid-in Capital [Member]</div>
</th>
<th class="th">
<div>Cumulative Effect, Period of Adoption, Adjusted Balance [Member] </div>
<div>Treasury Stock [Member]</div>
</th>
<th class="th">
<div>Cumulative Effect, Period of Adoption, Adjusted Balance [Member] </div>
<div>Excess Purchase Price over Predecessor Basis [Member]</div>
</th>
<th class="th">
<div>Cumulative Effect, Period of Adoption, Adjusted Balance [Member] </div>
<div>Retained Earnings [Member]</div>
</th>
<th class="th">
<div>Cumulative Effect, Period of Adoption, Adjusted Balance [Member] </div>
<div>AOCI Attributable to Parent [Member]</div>
</th>
<th class="th">
<div>Cumulative Effect, Period of Adoption, Adjusted Balance [Member] </div>
<div>Parent [Member]</div>
</th>
<th class="th">
<div>Cumulative Effect, Period of Adoption, Adjusted Balance [Member] </div>
<div>Noncontrolling Interest [Member]</div>
</th>
<th class="th"><div>Cumulative Effect, Period of Adoption, Adjusted Balance [Member]</div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Additional Paid-in Capital [Member]</div></th>
<th class="th"><div>Treasury Stock [Member]</div></th>
<th class="th"><div>Excess Purchase Price over Predecessor Basis [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</div></th>
<th class="th"><div>AOCI Attributable to Parent [Member]</div></th>
<th class="th"><div>Parent [Member]</div></th>
<th class="th"><div>Noncontrolling Interest [Member]</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">71,667,726<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(9,103,013)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2019</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (1,147)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (1,147)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (1,147)<span></span>
</td>
<td class="nump">$ 717<span></span>
</td>
<td class="nump">$ 498,866<span></span>
</td>
<td class="num">$ (324,551)<span></span>
</td>
<td class="num">$ (202,116)<span></span>
</td>
<td class="nump">$ 1,084,383<span></span>
</td>
<td class="num">$ (24,917)<span></span>
</td>
<td class="nump">$ 1,032,382<span></span>
</td>
<td class="nump">$ 469<span></span>
</td>
<td class="nump">$ 1,032,851<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Net unrealized gain (loss) on derivatives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(14,285)<span></span>
</td>
<td class="num">(14,285)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(14,285)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,948<span></span>
</td>
<td class="nump">4,948<span></span>
</td>
<td class="num">(29)<span></span>
</td>
<td class="nump">4,919<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares', window );">Common stock issued under equity incentive plans, net of shares withheld for employee taxes and strike price (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">356,603<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue', window );">Common stock issued under equity incentive plans, net of shares withheld for employee taxes and strike price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4<span></span>
</td>
<td class="nump">5,793<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,797<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,797<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards', window );">Net share settlement of restricted stock awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(70,718)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod', window );">Net share settlement of restricted stock awards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (7,613)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7,613)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7,613)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Share-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">20,882<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">20,882<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">20,882<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestChangeInRedemptionValue', window );">Redemption value adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,247)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,247)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,247)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income attributable to Generac Holdings Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">350,576<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">350,576<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">350,576<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNonredeemableNoncontrollingInterest', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(529)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">350,047<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">72,024,329<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(9,173,731)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 721<span></span>
</td>
<td class="nump">525,541<span></span>
</td>
<td class="num">$ (332,164)<span></span>
</td>
<td class="num">(202,116)<span></span>
</td>
<td class="nump">1,432,565<span></span>
</td>
<td class="num">(34,254)<span></span>
</td>
<td class="nump">1,390,293<span></span>
</td>
<td class="num">(89)<span></span>
</td>
<td class="nump">1,390,204<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Net unrealized gain (loss) on derivatives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,529<span></span>
</td>
<td class="nump">20,529<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,529<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(41,030)<span></span>
</td>
<td class="num">(41,030)<span></span>
</td>
<td class="num">(3)<span></span>
</td>
<td class="num">(41,033)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares', window );">Common stock issued under equity incentive plans, net of shares withheld for employee taxes and strike price (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">331,048<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue', window );">Common stock issued under equity incentive plans, net of shares withheld for employee taxes and strike price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
<td class="nump">7,073<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">7,076<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">7,076<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards', window );">Net share settlement of restricted stock awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(80,583)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod', window );">Net share settlement of restricted stock awards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">$ (27,223)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(27,223)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(27,223)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Share-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">23,954<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">23,954<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">23,954<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestChangeInRedemptionValue', window );">Redemption value adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(17,102)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(17,102)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(17,102)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income attributable to Generac Holdings Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">550,494<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">550,494<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">550,494<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNonredeemableNoncontrollingInterest', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">501<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">550,995<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation', window );">Change in noncontrolling interest share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(96)<span></span>
</td>
<td class="num">(96)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions', window );">Common stock issued for business combination (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30,640<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions', window );">Common stock issued for business combination</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">12,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,001<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesTreasuryStockReissued', window );">Treasury stock issued for business combination (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">937,283<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueTreasuryStockReissued', window );">Treasury stock issued for business combination</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">384,371<span></span>
</td>
<td class="nump">$ 36,403<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">420,774<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">420,774<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockSharesAcquired', window );">Stock repurchases (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(350,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValueAcquiredCostMethod', window );">Stock repurchases</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">$ (125,992)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(125,992)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(125,992)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">72,386,017<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(8,667,031)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 725<span></span>
</td>
<td class="nump">952,939<span></span>
</td>
<td class="num">$ (448,976)<span></span>
</td>
<td class="num">(202,116)<span></span>
</td>
<td class="nump">1,965,957<span></span>
</td>
<td class="num">(54,755)<span></span>
</td>
<td class="nump">2,213,774<span></span>
</td>
<td class="nump">313<span></span>
</td>
<td class="nump">2,214,087<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Net unrealized gain (loss) on derivatives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">38,494<span></span>
</td>
<td class="nump">38,494<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">38,494<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(48,841)<span></span>
</td>
<td class="num">(48,841)<span></span>
</td>
<td class="num">(264)<span></span>
</td>
<td class="num">(49,105)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares', window );">Common stock issued under equity incentive plans, net of shares withheld for employee taxes and strike price (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">315,240<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue', window );">Common stock issued under equity incentive plans, net of shares withheld for employee taxes and strike price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
<td class="num">(247)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(244)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(244)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards', window );">Net share settlement of restricted stock awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(91,843)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod', window );">Net share settlement of restricted stock awards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">$ (26,833)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(26,833)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(26,833)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Share-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">29,481<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">29,481<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">29,481<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestChangeInRedemptionValue', window );">Redemption value adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(49,235)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(49,235)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(49,235)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income attributable to Generac Holdings Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">399,502<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">399,502<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">399,502<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNonredeemableNoncontrollingInterest', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,825<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 401,327<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockSharesAcquired', window );">Stock repurchases (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,722,007)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,722,007)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValueAcquiredCostMethod', window );">Stock repurchases</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">$ (345,840)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(345,840)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">$ (345,840)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_TreasuryStockIssuedDuringPeriodContingentConsideration', window );">Payment of acquisition contingent consideration (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">196,531<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_TreasuryStockIssuedDuringPeriodValueContingentConsideration', window );">Payment of acquisition contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">33,965<span></span>
</td>
<td class="nump">$ 13,158<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">47,123<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">47,123<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">72,701,257<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(11,284,350)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 728<span></span>
</td>
<td class="nump">$ 1,016,138<span></span>
</td>
<td class="num">$ (808,491)<span></span>
</td>
<td class="num">$ (202,116)<span></span>
</td>
<td class="nump">$ 2,316,224<span></span>
</td>
<td class="num">$ (65,102)<span></span>
</td>
<td class="nump">$ 2,257,381<span></span>
</td>
<td class="nump">$ 1,874<span></span>
</td>
<td class="nump">$ 2,259,255<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued under equity incentive plans, net of shares withheld for employee taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock issued under equity incentive plans, net of shares withheld for employee taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_TreasuryStockIssuedDuringPeriodContingentConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of treasury stock issued during period for contingent consideration.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_TreasuryStockIssuedDuringPeriodContingentConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_TreasuryStockIssuedDuringPeriodValueContingentConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of treasury stock issued for contingent consideration during period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_TreasuryStockIssuedDuringPeriodValueContingentConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and are being held in treasury in settlement of restricted stock award.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the cost of common and preferred stock that were repurchased during the period in settlement of restricted stock award. Recorded using the cost method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11149-113907<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11178-113907<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126961718&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterestChangeInRedemptionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Change in noncontrolling interest during the period as a result of a change in the redemption value of redeemable noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=122040564&amp;loc=SL6540498-122764<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph 16(c)<br> -URI https://asc.fasb.org/extlink&amp;oid=122040564&amp;loc=SL6540498-122764<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=122040564&amp;loc=SL6540498-122764<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestChangeInRedemptionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAttributableToNonredeemableNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Portion of net income (loss) attributable to nonredeemable noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.19)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToNonredeemableNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after income tax of income (loss) including the portion attributable to nonredeemable noncontrolling interest. Excludes the portion attributable to redeemable noncontrolling interest recognized as temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph (3)<br> -URI https://asc.fasb.org/extlink&amp;oid=122040564&amp;loc=SL6540498-122764<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of the reduction or elimination during the period of a noncontrolling interest resulting from the parent's loss of control and deconsolidation of the entity in which one or more outside parties had a noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued during the period pursuant to acquisitions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesTreasuryStockReissued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of treasury shares or units reissued. Excludes reissuance of shares or units in treasury for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesTreasuryStockReissued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued pursuant to acquisitions during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueTreasuryStockReissued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of treasury shares or units reissued. Excludes reissuance of shares or units in treasury for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueTreasuryStockReissued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21930-107793<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21914-107793<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568740-111683<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21711-107793<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4590271-111686<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 25: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568447-111683<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockSharesAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and are being held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockSharesAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValueAcquiredCostMethod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValueAcquiredCostMethod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364760154688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Stockholders' Equity (Parentheticals) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember', window );">AOCI Attributable to Parent [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax', window );">Unrealized gain (loss) on interest rate swaps, tax</a></td>
<td class="nump">$ 12,858<span></span>
</td>
<td class="nump">$ 6,933<span></span>
</td>
<td class="num">$ (4,826)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after reclassification, of tax expense (benefit) for gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e640-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364765705296">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Cash Flows - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1">89 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Operating activities</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 408,870<span></span>
</td>
<td class="nump">$ 556,569<span></span>
</td>
<td class="nump">$ 347,218<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">52,821<span></span>
</td>
<td class="nump">42,155<span></span>
</td>
<td class="nump">36,493<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangible assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">103,320<span></span>
</td>
<td class="nump">49,886<span></span>
</td>
<td class="nump">32,280<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfFinancingCostsAndDiscounts', window );">Amortization of original issue discount and deferred financing costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">3,234<span></span>
</td>
<td class="nump">2,589<span></span>
</td>
<td class="nump">2,598<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">3,743<span></span>
</td>
<td class="nump">831<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income taxes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(95,465)<span></span>
</td>
<td class="num">(2,096)<span></span>
</td>
<td class="nump">21,195<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Share-based compensation expense</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="nump">29,481<span></span>
</td>
<td class="nump">23,954<span></span>
</td>
<td class="nump">20,882<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnDispositionOfAssets1', window );">Gain on disposal of assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(592)<span></span>
</td>
<td class="num">(4,393)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue', window );">Other noncash charges</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">18,339<span></span>
</td>
<td class="nump">206<span></span>
</td>
<td class="nump">7,145<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Net changes in operating assets and liabilities, net of acquisitions:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">6,547<span></span>
</td>
<td class="num">(131,861)<span></span>
</td>
<td class="num">(55,976)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(319,274)<span></span>
</td>
<td class="num">(470,991)<span></span>
</td>
<td class="num">(77,983)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">4,766<span></span>
</td>
<td class="num">(819)<span></span>
</td>
<td class="nump">12,859<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(223,031)<span></span>
</td>
<td class="nump">297,323<span></span>
</td>
<td class="nump">66,040<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities', window );">Accrued wages and employee benefits</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(27,369)<span></span>
</td>
<td class="nump">5,814<span></span>
</td>
<td class="nump">20,157<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities', window );">Other accrued liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">110,036<span></span>
</td>
<td class="nump">73,798<span></span>
</td>
<td class="nump">60,593<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_ExcessTaxBenefitsFromEquityAwards', window );">Excess tax benefits from equity awards</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(16,910)<span></span>
</td>
<td class="num">(31,809)<span></span>
</td>
<td class="num">(6,968)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">58,516<span></span>
</td>
<td class="nump">411,156<span></span>
</td>
<td class="nump">486,533<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Investing activities</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from sale of property and equipment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">2,077<span></span>
</td>
<td class="nump">259<span></span>
</td>
<td class="nump">179<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfLongtermInvestments', window );">Proceeds from sale of investment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,308<span></span>
</td>
<td class="nump">4,968<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables', window );">Proceeds from beneficial interest in securitization transactions</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">3,566<span></span>
</td>
<td class="nump">4,609<span></span>
</td>
<td class="nump">2,651<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireEquityMethodInvestments', window );">Contribution to equity method investment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(14,930)<span></span>
</td>
<td class="num">(3,660)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Expenditures for property and equipment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(86,188)<span></span>
</td>
<td class="num">(109,992)<span></span>
</td>
<td class="num">(62,128)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireLongtermInvestments', window );">Purchase of long-term investment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(15,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Acquisition of businesses, net of cash acquired</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(25,065)<span></span>
</td>
<td class="num">(713,471)<span></span>
</td>
<td class="num">(64,797)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(134,232)<span></span>
</td>
<td class="num">(817,287)<span></span>
</td>
<td class="num">(124,095)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Financing activities</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromShortTermDebt', window );">Proceeds from short-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">248,209<span></span>
</td>
<td class="nump">272,818<span></span>
</td>
<td class="nump">257,593<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfLongTermDebt', window );">Proceeds from long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,026,284<span></span>
</td>
<td class="nump">150,088<span></span>
</td>
<td class="nump">277<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfShortTermDebt', window );">Repayments of short-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(268,133)<span></span>
</td>
<td class="num">(239,113)<span></span>
</td>
<td class="num">(277,719)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities', window );">Repayments of long-term borrowings and finance lease obligations</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(542,191)<span></span>
</td>
<td class="num">(108,556)<span></span>
</td>
<td class="num">(4,758)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Stock repurchases</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(345,840)<span></span>
</td>
<td class="num">(125,992)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">$ (777,379)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment of contingent acquisition consideration</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(16,135)<span></span>
</td>
<td class="num">(3,750)<span></span>
</td>
<td class="num">(4,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Payment of debt issuance costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(10,330)<span></span>
</td>
<td class="num">(1,185)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest', window );">Purchase of additional ownership interest</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(375)<span></span>
</td>
<td class="num">(27,164)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDividendsCommonStock', window );">Cash dividends paid to noncontrolling interest of subsidiary</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(309)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Taxes paid related to equity awards</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(40,923)<span></span>
</td>
<td class="num">(58,903)<span></span>
</td>
<td class="num">(14,910)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from the exercise of stock options</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">13,786<span></span>
</td>
<td class="nump">38,787<span></span>
</td>
<td class="nump">13,089<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by (used in) financing activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">64,043<span></span>
</td>
<td class="num">(102,970)<span></span>
</td>
<td class="num">(30,428)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Effect of exchange rate changes on cash and cash equivalents</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(2,943)<span></span>
</td>
<td class="nump">1,312<span></span>
</td>
<td class="nump">235<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net (decrease) increase in cash and cash equivalents</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(14,616)<span></span>
</td>
<td class="num">(507,789)<span></span>
</td>
<td class="nump">332,245<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash and cash equivalents at beginning of period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">147,339<span></span>
</td>
<td class="nump">655,128<span></span>
</td>
<td class="nump">322,883<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash and cash equivalents at end of period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">132,723<span></span>
</td>
<td class="nump">147,339<span></span>
</td>
<td class="nump">655,128<span></span>
</td>
<td class="nump">$ 132,723<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosure of cash flow information</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">48,912<span></span>
</td>
<td class="nump">27,842<span></span>
</td>
<td class="nump">28,765<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income taxes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 150,893<span></span>
</td>
<td class="nump">$ 156,728<span></span>
</td>
<td class="nump">$ 61,861<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr><td colspan="5"></td></tr>
<tr><td colspan="5"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">Represents the non-cash write-off of original issue discount and deferred financing costs due primarily to a voluntary prepayment of debt.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top">Represents share-based compensation expense to account for stock options, restricted stock and other stock awards over their respective vesting periods.</td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) from change in fair value of contingent consideration from business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_ExcessTaxBenefitsFromEquityAwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The value of excess tax benefits from equity awards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_ExcessTaxBenefitsFromEquityAwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfFinancingCostsAndDiscounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense attributable to debt discount (premium) and debt issuance costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69E<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495743-112612<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495355-112611<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69F<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495745-112612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfFinancingCostsAndDiscounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnDispositionOfAssets1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnDispositionOfAssets1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126972273&amp;loc=d3e12355-112629<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126972273&amp;loc=d3e12317-112629<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnExtinguishmentOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in other expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow during the period for redemption of redeemable noncontrolling interests.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDebtIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDebtIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDividendsCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividendsCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the purchase of or advances to an equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireLongtermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for securities or other assets acquired, which qualify for treatment as an investing activity and are to be liquidated, if necessary, beyond the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the long-term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireLongtermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from collection on beneficial interest in securitization of receivables.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfLongtermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from sales of all investments, including securities and other assets, having ready marketability and intended by management to be liquidated, if necessary, beyond the current operating cycle.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfLongtermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromShortTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from a borrowing having initial term of repayment within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromShortTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for debt, mandatory redeemable security, and principal payment for finance lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a),(b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfShortTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for a borrowing having initial term of repayment within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfShortTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766905872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Description of Business<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock', window );">Business Description and Basis of Presentation [Text Block]</a></td>
<td class="text">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b><em style="font: inherit;">1.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b>Description of Business</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Founded in <em style="font: inherit;">1959,</em> Generac Holdings Inc. (the Company) is a leading global designer and manufacturer of a wide range of energy technology solutions. The Company provides power generation equipment, energy storage systems, energy management devices &amp; solutions, and other power products&#160;serving the residential, light commercial, and industrial markets. Generac&#8217;s power products and solutions are available globally through a broad network of independent dealers, distributors, retailers, e-commerce partners, wholesalers, and equipment rental companies,&#160;as well as sold direct to certain end user customers.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Over the years, the Company has executed a number of acquisitions that support its strategic plan (refer to Item <em style="font: inherit;">1</em> in this Annual Report on Form <em style="font: inherit;">10</em>-K for discussion of our &#8220;Powering a&#160;Smarter World&#8221; strategic plan). A summary of acquisitions affecting the reporting periods presented include:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width: 18pt; text-align: justify;">&#160;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">&#9679;</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;">In <em style="font: inherit;"> July 2020, </em>the Company acquired West Coast Energy Systems LLC&#160;(Energy Systems), its industrial distributor in northern California. This addition enhances the Company's ability to serve the west coast markets for both commercial &amp; industrial (C&amp;I) and residential products.</p> </td></tr>
<tr><td style="width: 18pt; text-align: justify;">&#160;</td><td style="width: 18pt; vertical-align: top; text-align: justify;">&#9679;</td><td style="vertical-align: top; text-align: justify;">In <em style="font: inherit;"> September 2020, </em>the Company acquired Mean Green Products, LLC (Mean Green), founded in <em style="font: inherit;">2009</em> and located in Ross, Ohio. Mean Green is a designer and manufacturer of commercial grade, battery-powered turf care products that provide quiet, <em style="font: inherit;">zero</em> emissions and reduced maintenance options as compared to traditional commercial mowers.</td></tr>
<tr><td style="width: 18pt; text-align: justify;">&#160;</td><td style="width: 18pt; vertical-align: top; text-align: justify;">&#9679;</td><td style="vertical-align: top; text-align: justify;">In <em style="font: inherit;"> October 2020, </em>the Company acquired Enbala Power Networks Inc. (Enbala), founded in <em style="font: inherit;">2003</em> and headquartered in Denver, Colorado. Enbala is <em style="font: inherit;">one</em> of the leading providers of distributed energy optimization and control software that helps support the operational stability of the world's power grids.&#160;</td></tr>
<tr><td style="width: 18pt; text-align: justify;">&#160;</td><td style="width: 18pt; vertical-align: top; text-align: justify;">&#9679;</td><td style="vertical-align: top; text-align: justify;">In <em style="font: inherit;"> June 2021, </em>the Company acquired Deep Sea Electronics Limited (Deep Sea), founded in <em style="font: inherit;">1975</em> and headquartered in Hunmanby, United Kingdom. Deep Sea is an industry leading designer and manufacturer of a diverse suite of flexible control solutions focused on the global power generation and transfer switch markets.</td></tr>
<tr><td style="width: 18pt; text-align: justify;">&#160;</td><td style="width: 18pt; vertical-align: top; text-align: justify;">&#9679;</td><td style="vertical-align: top; text-align: justify;">In <em style="font: inherit;"> July 2021,&#160;</em>the Company acquired Chilicon Power, LLC (Chilicon), a designer and provider of grid-interactive microinverter and monitoring solutions for the solar market. Based in Los Angeles, California, Chilicon's power inversion and monitoring system technologies maximize photovoltaic (solar power) system production, lower installer operational cost, and promote end-user satisfaction.</td></tr>
<tr><td style="width: 18pt; text-align: justify;">&#160;</td><td style="width: 18pt; vertical-align: top; text-align: justify;">&#9679;</td><td style="vertical-align: top; text-align: justify;">In <em style="font: inherit;"> September 2021,&#160;</em>the Company acquired Apricity Code Corporation (Apricity Code), an advanced engineering and product design company located in Bend, Oregon.</td></tr>
<tr><td style="width: 18pt; text-align: justify;">&#160;</td><td style="width: 18pt; vertical-align: top; text-align: justify;">&#9679;</td><td style="vertical-align: top; text-align: justify;">In <em style="font: inherit;"> September 2021, </em>the Company acquired Off Grid Energy Ltd (Off Grid Energy), a designer and manufacturer of industrial-grade mobile energy storage systems. Headquartered in Rugby, United Kingdom, Off Grid Energy offers a diverse range of energy storage solutions that provide cleaner and more flexible energy for industrial and mobile applications.&#160;</td></tr>
<tr><td style="width: 18pt; text-align: justify;">&#160;</td><td style="width: 18pt; vertical-align: top; text-align: justify;">&#9679;</td><td style="vertical-align: top; text-align: justify;">In <em style="font: inherit;"> October 2021,&#160;</em>the Company acquired Tank Utility, Inc. (Tank Utility). Headquartered in Boston, Massachusetts, Tank Utility is a provider of internet of things (IoT) propane tank monitoring that enables the optimization of propane fuel logistics.</td></tr>
<tr><td style="width: 18pt; text-align: justify;">&#160;</td><td style="width: 18pt; vertical-align: top; text-align: justify;">&#9679;</td><td style="vertical-align: top; text-align: justify;">In <em style="font: inherit;"> December 2021, </em>the Company acquired ecobee Inc. (ecobee), founded in <em style="font: inherit;">2007</em> and headquartered in Toronto, Canada. ecobee is a leader in sustainable home technology solutions including smart thermostats that deliver significant energy savings, security and peace of mind.&#160;</td></tr>
<tr><td style="width: 18pt; text-align: justify;">&#160;</td><td style="width: 18pt; vertical-align: top; text-align: justify;">&#9679;</td><td style="vertical-align: top; text-align: justify;">In <em style="font: inherit;"> June 2022, </em>the Company acquired Electronic Environments Co. LLC and related subsidiaries (collectively EEC). Headquartered in Marlborough, Massachusetts, EEC is an industrial generator distributor as well as a provider of data center and telecom facility design, build, maintenance, and repair services.</td></tr>
<tr><td style="width: 18pt; text-align: justify;">&#160;</td><td style="width: 18pt; vertical-align: top; text-align: justify;">&#9679;</td><td style="vertical-align: top; text-align: justify;">In <em style="font: inherit;"> October 2022,&#160;</em>the Company acquired BPAC, Inc.&#160;(Blue Pillar), an industrial IoT platform developer that designs, deploys, and manages industrial IoT network software solutions to enable distributed energy generation monitoring and control.</td></tr>
</tbody></table>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI https://asc.fasb.org/topic&amp;trid=2122369<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -URI https://asc.fasb.org/topic&amp;trid=2122149<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI https://asc.fasb.org/topic&amp;trid=2134479<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766844624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Summary of Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Significant Accounting Policies [Text Block]</a></td>
<td class="text">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">2.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Summary of</b><b> Accounting Policies </b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b/></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Principles of Consolidation</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The consolidated financial statements include the accounts of the Company and its subsidiaries that are consolidated in conformity with U.S. GAAP. All intercompany amounts and transactions have been eliminated in consolidation.</p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b/></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Cash </b><b>and Cash </b><b>Equivalents</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company considers all highly liquid investments purchased with an original maturity of <em style="font: inherit;">three</em> months or less to be cash equivalents.</p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b/></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Concentration of Credit Risk</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company maintains the majority of its domestic cash in a few&#160;commercial banks in multiple operating and investment accounts. Balances on deposit are insured by the Federal Deposit Insurance Corporation (FDIC) up to specified limits. Balances in excess of FDIC limits are uninsured.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>


   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">One customer accounted for approximately 11% and 8% of accounts receivable at <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em>, respectively. <span style="-sec-ix-hidden:c93263446"><span style="-sec-ix-hidden:c93263449"><span style="-sec-ix-hidden:c93263452">No</span></span></span> <em style="font: inherit;">one</em> customer accounted for greater than 4%, 6%, and 6%, of net sales during the years ended <em style="font: inherit;"> December 31, 2022</em>, <em style="font: inherit;">2021</em>, and&#160;<em style="font: inherit;">2020</em>, respectively.</p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b/></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Accounts Receivable and Allowance for Credit Losses</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company's trade and other receivables primarily arise from the sale of its&#160;products and services to independent residential dealers, industrial distributors&#160;and dealers, national and regional retailers, electrical/HVAC/solar wholesalers, e-commerce partners, equipment rental companies, equipment distributors, solar installers, utilities, EPC companies, and certain end users with payment terms generally ranging from <em style="font: inherit;">30</em> to <em style="font: inherit;">90</em> days. The Company evaluates the credit risk of a customer when extending credit based on a combination of various financial and qualitative factors that <em style="font: inherit;"> may </em>affect the customers' ability to pay. These factors include the customer's financial condition, past payment experience, credit bureau information, and regional considerations.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Receivables are recorded at their face value amount less an allowance for credit losses. The Company maintains an allowance for credit losses, which represents an estimate of expected losses over the remaining contractual life of its receivables considering current market conditions and estimates for supportable forecasts when appropriate. The Company measures expected credit losses on its trade receivables on an entity-by-entity basis. The estimate of expected credit losses considers a historical loss experience rate that is adjusted for delinquency trends, collection experience, and/or economic risk where appropriate based on current market conditions. Additionally, management develops a specific allowance for trade receivables known to have a high risk of expected future credit loss.&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company has historically experienced immaterial write-offs given the nature of the customers that receive credit. In addition, the Company holds various&#160;credit insurance plans that cover&#160;the risk of loss up to specified amounts on certain trade receivables. As of <em style="font: inherit;"> December 31, 2022, </em>the Company had gross receivables of $550,122&#160;and an allowance for credit losses of $27,664.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The following is a tabular reconciliation of the Company's allowance for credit losses:&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">Year Ended December 31, 2022</em></b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 83%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at beginning of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,025</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Established for acquisitions</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">498</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Provision for credit losses (1)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">17,966</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Charge-offs</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(2,554</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Currency translation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(271</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Balance at end of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,664</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;">(<em style="font: inherit;">1</em>)</td><td style="vertical-align:top;">Includes a specific credit loss provision of $17,926 recorded during the <em style="font: inherit;">third</em> quarter of <em style="font: inherit;">2022</em> for a clean energy product customer that filed for bankruptcy.</td></tr>
</tbody></table><table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="vertical-align:top;"/></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b/></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Inventories</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Inventories are stated at the lower of cost or market, with cost determined&#160;using the <em style="font: inherit;">first</em>-in, <em style="font: inherit;">first</em>-out method.</p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b/></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Property and Equipment </b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Property and equipment are recorded at cost and are being depreciated using the straight-line method over the estimated useful lives of the assets, which are summarized below (in years). Costs of leasehold improvements are amortized over the lesser of the term of the lease (including renewal option periods) or the estimated useful lives of the improvements. Finance lease right of use assets are included in property and equipment. Refer to Note <em style="font: inherit;">10,</em> &#8220;Leases,&#8221; to the consolidated financial statements for the Company's lease disclosure.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Land improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">8</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">20</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Buildings and improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">10</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">40</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Machinery and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">3</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Dies and tools</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">3</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Vehicles</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">3</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Office equipment and systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">3</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Leasehold improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">2</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">20</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Total depreciation expense was $52,821, $42,155, and $36,493&#160;for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively.</p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b/></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Goodwill and Other Indefinite-Lived Intangible Assets</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Goodwill represents the excess of the purchase price over fair value of identifiable net assets acquired from business acquisitions. Goodwill is <em style="font: inherit;">not</em> amortized, but is reviewed for impairment on an annual basis and between annual tests if indicators of impairment are present. The Company evaluates goodwill for impairment annually as of <em style="font: inherit;"> October 31 </em>or more frequently when an event occurs or circumstances change that indicates the carrying value <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be recoverable. The Company has the option to assess goodwill for impairment by performing either a qualitative assessment or quantitative test. The qualitative assessment determines whether it is more likely than <em style="font: inherit;">not</em> that the fair value of a reporting unit is less than its carrying amount. If the Company determines that it is <em style="font: inherit;">not</em> more likely than <em style="font: inherit;">not</em> that the fair value of a reporting unit is less than its carrying amount, then the quantitative test is <em style="font: inherit;">not</em> required to be performed. If the Company determines that it is more likely than <em style="font: inherit;">not</em> that the fair value of a reporting unit is less than its carrying amount, the Company is required to perform the quantitative test. In the quantitative test, the calculated fair value of the reporting unit is compared to its book value including goodwill. If the fair value of the reporting unit is in excess of its book value, the related goodwill is <em style="font: inherit;">not</em> impaired. If the fair value of the reporting unit is less than its book value, an impairment loss is recognized in an amount equal to that excess, limited to the total amount of goodwill allocated to that reporting unit.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Other indefinite-lived intangible assets consist of certain tradenames. The Company tests the carrying value of these tradenames annually as of <em style="font: inherit;"> October 31, </em>or more frequently when an event occurs or circumstances change that indicates the carrying value <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be recoverable, by comparing the assets&#8217; fair value to its carrying value. Fair value is measured using a relief-from-royalty approach, which assumes the fair value of the tradename is the discounted cash flows of the amount that would be paid had the Company <em style="font: inherit;">not</em> owned the tradename and instead licensed the tradename from another company.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company performed the required annual impairment tests for goodwill and other indefinite-lived intangible assets for the fiscal years <em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, and found <span style="-sec-ix-hidden:c93263514"><span style="-sec-ix-hidden:c93263515"><span style="-sec-ix-hidden:c93263516">no</span></span></span> impairment.</p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"/>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b/></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Impairment of Long-Lived Assets</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company periodically evaluates the carrying value of long-lived assets (excluding goodwill and indefinite-lived tradenames). Long-lived assets are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be recoverable. If the sum of the expected future undiscounted cash flows is less than the carrying amount of an asset, a loss is recognized for the difference between the fair value and carrying value of the asset.</p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>


   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b/></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Debt Issuance Costs</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Debt discounts and direct costs incurred in connection with the issuance or amendment of long-term debt are deferred and recorded as a reduction of outstanding debt and amortized to interest expense using the effective interest method over the terms of the related credit agreements. $3,234, $2,589, and $2,598,&#160;of deferred financing costs and original issue discount were amortized to interest expense during fiscal years <em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively. Excluding the impact of any future long-term debt issuances or prepayments, estimated amortization to interest expense for the next <em style="font: inherit;">five</em> years is as follows: <em style="font: inherit;">2023</em>&#160;- <span style="-sec-ix-hidden:c93263527">$3,885;</span> <em style="font: inherit;">2024</em>&#160;- <span style="-sec-ix-hidden:c93263529">$3,923;</span> <em style="font: inherit;">2025</em>&#160;- <span style="-sec-ix-hidden:c93263531">$3,919;</span> <em style="font: inherit;">2026</em>&#160;- <span style="-sec-ix-hidden:c93263533">$3,819;</span> <em style="font: inherit;">2027</em>&#160;- <span style="-sec-ix-hidden:c93263535">$1,028.</span></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b/></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Income Taxes</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company is a C Corporation and therefore accounts for income taxes pursuant to the liability method. Accordingly, the current or deferred tax consequences of a transaction are measured by applying the provision of enacted tax laws to determine the amount of taxes payable currently or in future years. Deferred income taxes are provided for temporary differences between the income tax bases of assets and liabilities and their carrying amounts for financial reporting purposes. In assessing the realizability of deferred tax assets, the Company considers whether it is more likely than <em style="font: inherit;">not</em> that some portion or all of the deferred tax assets will <em style="font: inherit;">not</em> be realized. The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the years in which those temporary differences become deductible. The Company considers taxable income in prior carryback years, the scheduled reversal of deferred tax liabilities, projected future taxable income and tax planning strategies, as appropriate, in making this assessment.</p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b/></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Revenue Recognition</b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><br/> The Company&#8217;s revenues primarily consist of product sales to its customers. The Company considers the purchase orders, which in some cases are governed by master sales agreements, to be the contracts with the customers. For each contract, the Company considers the commitment to transfer products, each of which is distinct, to be the identified performance obligations. Revenue is measured as the amount of consideration the Company expects to be entitled in exchange for the transfer of product, which is generally the price stated in the contract specific for each item sold, adjusted for the value of expected returns, discounts, rebates, or other promotional incentives or allowances offered to our customers. Expected returns for damaged or defective product are estimated using the expected value method based on historical product return experience. Discounts and rebates offered to customers are typically defined in the master sales agreements with customers and, therefore, are recorded using the most likely amount method based on the terms of the contract. Promotional incentives are defined programs offered for short, specific periods of time and are estimated using the expected value method based on historical experience. The Company does <em style="font: inherit;">not</em> expect the transaction price for revenue recognized will be subject to a significant revenue reversal. As the Company&#8217;s product sale contracts and standard payment terms have a duration of less than <em style="font: inherit;">one</em> year, it uses the practical expedient applicable to such contracts and does <em style="font: inherit;">not</em> consider the time value of money. Sales, use, value add, and other similar taxes assessed by governmental authorities and collected concurrent with revenue-producing activities are excluded from revenue. The Company has elected to recognize the cost for freight activities when control of the product has transferred to the customer as an expense within cost of goods sold in the consolidated statements of comprehensive income. Product revenues are recognized at the point in time when control of the product is transferred to the customer, which typically occurs upon shipment or delivery to the customer. To determine when control has transferred, the Company considers if there is a present right to payment and if legal title, physical possession, and the significant risks and rewards of ownership of the asset has transferred to the customer. As a substantial portion&#160;of the Company&#8217;s product revenues are recognized at a point in time, the amount of unsatisfied performance obligations at each period end is <em style="font: inherit;">not</em> material. The Company&#8217;s contracts have an original expected duration of <em style="font: inherit;">one</em> year or less. As a result, the Company has elected to use the practical expedient to <em style="font: inherit;">not</em> disclose its remaining performance obligations.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">At the request of certain customers, the Company will warehouse inventory billed to the customer but <em style="font: inherit;">not</em> delivered. Unless all revenue recognition criteria have been met, the Company does <em style="font: inherit;">not</em> recognize revenue on these transactions until the customer takes possession of the product.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">While the Company&#8217;s standard payment terms are less than <em style="font: inherit;">one</em> year, the specific payment terms and conditions in its customer contracts vary. In some cases, customers prepay for their goods; in other cases, after appropriate credit evaluation, an open credit line is granted and payment is due in arrears. Contracts with payment in arrears are recognized in the consolidated balance sheets as accounts receivable upon revenue recognition, while contracts where customers pay in advance are recognized as customer deposits and recorded in other accrued liabilities in the consolidated balance sheets until revenue is recognized. The balance of customer deposits (contract liabilities) was $33,551&#160;and $27,388&#160;at <em style="font: inherit;"> December 31, 2022</em> and <em style="font: inherit;"> December 31, 2021</em>, respectively. During the year ended <em style="font: inherit;"> December 31, 2022</em>, the Company recognized revenue of $27,388&#160;related to amounts included in the <em style="font: inherit;"> December 31, 2021</em> customer deposit balance. The Company typically recognizes revenue within <em style="font: inherit;">one</em> year of the receipt of the customer deposit.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>


   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company offers standard warranty coverage on substantially all products that it sells and accounts for this standard warranty coverage as an assurance warranty. As such, <em style="font: inherit;">no</em> transaction price is allocated to the standard warranty, and the Company records a liability for product warranty obligations at the time of sale to a customer based on historical warranty experience. Refer to Note <em style="font: inherit;">11,</em> &#8220;Product Warranty Obligations,&#8221; to the consolidated financial statements for further information regarding the Company&#8217;s standard warranties.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company also sells extended warranty coverage for certain products, which it accounts for as service warranties. In most cases, the extended warranty is sold as a separate contract. As such, extended warranty sales are considered a separate performance obligation, and the extended warranty transaction is separate and distinct from the product. The extended warranty transaction price is initially recorded as deferred revenue in the consolidated balance sheets and amortized on a straight-line basis to net sales in the consolidated statements of comprehensive income over the life of the contracts following the standard warranty period. For extended warranty contracts that the Company sells under a <em style="font: inherit;">third</em>-party marketing agreement, it is required to pay fees to the <em style="font: inherit;">third</em>-party service provider and classifies these fees as costs to obtain a contract. The contract costs are deferred and recorded as other assets in the consolidated balance sheets. The deferred contract costs are amortized to net sales in the consolidated statements of comprehensive income consistent with how the related deferred revenue is recognized. Refer to Note <em style="font: inherit;">11,</em> &#8220;Product Warranty Obligations,&#8221; to the consolidated financial statements for further information regarding the Company&#8217;s extended warranties.&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">In addition to extended warranties, the Company offers other services, including remote monitoring, installation, maintenance, data center and telecom design and build, and&#160;grid services to utilities in certain&#160;circumstances. Total service revenues accounted for less than <em style="font: inherit;">3%</em>&#160;of revenue during the year ended <em style="font: inherit;"> December 31, 2022</em>.&#160;&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Refer to Note <em style="font: inherit;">7,</em> &#8220;Segment Reporting,&#8221; to the consolidated financial statements for the Company&#8217;s disaggregated revenue disclosure. The information discussed above is applicable to each of the Company&#8217;s product classes.</p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#160;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b/></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Advertising and Co-Op Advertising</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Expenditures for advertising, included in selling and service expenses in the consolidated statements of comprehensive income, are expensed as incurred. Expenditures for advertising production costs are expensed when the related advertisement is <em style="font: inherit;">first</em> run. Expenditures for Co-Op advertising are expensed when claimed by the customer. Total expenditures for advertising were $100,589, $66,660, and $53,678&#160;for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively.</p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#160;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b/></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Research and Development</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company expenses research and development costs as incurred. Total expenditures incurred for research and development were $159,774, $104,303, and $80,251&#160;for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively.</p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b/></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Foreign Currency Translation and Transactions</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Balance sheet amounts for non-U.S. Dollar functional currency subsidiaries&#160;are translated into U.S. Dollars at the rates of exchange in effect at the end of the fiscal year. Income and expenses incurred in a foreign currency are translated at the average rates of exchange in effect during the year. The related balance sheet translation adjustments are made directly to accumulated other comprehensive loss, a component of stockholders&#8217; equity, in the consolidated balance sheets. Gains and losses from foreign currency transactions are recognized as incurred in the consolidated statements of comprehensive income.</p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b/></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Fair Value of Financial Instruments</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">ASC <em style="font: inherit;">820</em>-<em style="font: inherit;">10,</em> <i>Fair Value Measurement</i><i>,</i> defines fair value, establishes a consistent framework for measuring fair value, and expands disclosure for each major asset and liability category measured at fair value on either a recurring basis or nonrecurring basis. ASC <em style="font: inherit;">820</em>-<em style="font: inherit;">10</em> clarifies that fair value is an exit price, representing the amount that would be received in the sale of an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. As a basis for considering such assumptions, the pronouncement establishes a <em style="font: inherit;">three</em>-tier fair value hierarchy, which prioritizes the inputs used in measuring fair value as follows: (Level <em style="font: inherit;">1</em>) observable inputs such as quoted prices in active markets; (Level <em style="font: inherit;">2</em>) inputs, other than the quoted prices in active markets, that are observable either directly or indirectly; and (Level <em style="font: inherit;">3</em>) unobservable inputs in which there is little or <em style="font: inherit;">no</em> market data, which require the reporting entity to develop its own assumptions.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company believes the carrying amount of its financial instruments (cash and cash equivalents, accounts receivable, accounts payable, accrued liabilities, short-term borrowings, and revolving facility borrowings), excluding Term Loan borrowings, approximates the fair value of these instruments based on their short-term nature. The fair value of the Term Loan B borrowing, which has&#160;a&#160;net carrying value of $523,305, was approximately $516,750 (Level <em style="font: inherit;">2</em>)&#160;at <em style="font: inherit;"> December 31, 2022</em>, as calculated based on independent valuations whose inputs and significant value drivers are observable. The fair value of Term Loan A approximates the carrying&#160;value.&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>


   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">For the fair value of the assets and liabilities measured on a recurring basis, refer to the fair value table in Note <em style="font: inherit;">5,</em> &#8220;Derivative Instruments and Hedging Activities,&#8221; to the consolidated financial statements. The fair value of all derivative contracts is classified as Level <em style="font: inherit;">2.</em> The valuation techniques used to measure the fair value of derivative contracts, all of which have counterparties with high credit ratings, were based on quoted market prices or model driven valuations using significant inputs derived from or corroborated by observable market data. The fair value of derivative contracts considers the Company&#8217;s credit risk in accordance with ASC <em style="font: inherit;">820</em>-<em style="font: inherit;">10.</em></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><em style="font: inherit;"/>&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i/></b></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Contingent Consideration</i></b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Certain of the Company's business combinations involve potential payment of future consideration that is contingent upon the achievement of certain milestones. As part of purchase accounting, a&#160;liability is recorded for the estimated fair value of the contingent consideration on the acquisition date. The fair value of the contingent consideration is remeasured at each reporting period, and the change in fair value is recognized within general and administrative expenses in the Company's&#160;consolidated statements of comprehensive income. The&#160;fair value measurement of contingent consideration is typically categorized as a Level <em style="font: inherit;">3</em> liability, as the measurement amount is based primarily on significant inputs that are <em style="font: inherit;">not</em> observable in the market. The fair value measurement of ecobee's contingent consideration is categorized as a Level <em style="font: inherit;">1</em> liability, as a definitive payout agreement has been reached.&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The fair value of contingent consideration as of <em style="font: inherit;"> December 31, 2022&#160;</em>and <em style="font: inherit;"> December 31, 2021&#160;</em>was $81,533&#160;and $146,759, respectively. At <em style="font: inherit;"> December 31, 2022, </em>the Company&#160;recorded<span style="color:#000000;"> $49,500&#160;in other accrued liabilities and $32,033&#160;in oth</span>er long-term liabilities in the consolidated balance sheets. At <em style="font: inherit;"> December 31, 2021, </em>the Company&#160;recorded $68,665&#160;in other accrued liabilities and $78,094&#160;in other long-term liabilities in the consolidated balance sheets.&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The following table provides a reconciliation of the activity for contingent consideration:&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Beginning balance, January 1, 2022</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">146,759</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Changes in fair value</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(231</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Payment of contingent consideration (1)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(63,800</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Present value interest accretion</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">1,974</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Currency translation</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(3,169</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Ending balance, December 31, 2022</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">81,533</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">(<em style="font: inherit;">1</em>)&#160; &#160;Includes payments of $16,135 in cash for the Off Grid acquisition, $47,123&#160;in shares of common stock for the ecobee acquisition, and $542 in cash for the ecobee acquisition. The payment of common stock is accounted for as a non-cash item in the consolidated statement of cash flows.</p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b/></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Use of Estimates</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The preparation of the consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b/></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Derivative Instruments and Hedging Activities</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company records all derivatives in accordance with ASC <em style="font: inherit;">815,</em> <i>Derivatives and Hedging</i><i>,</i> which requires derivative instruments to be reported in the consolidated balance sheets at fair value and establishes criteria for designation and effectiveness of hedging relationships. The Company is exposed to market risk such as changes in commodity prices, foreign currencies and interest rates. The Company does <em style="font: inherit;">not</em> hold or issue derivative financial instruments for trading purposes.</p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b/></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>S</b><b>hare</b><b>-Based Compensation</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#160;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Share-based compensation expense, including stock options and restricted stock awards, is generally recognized on a straight-line basis over the vesting period based on the fair value of awards which are expected to vest. The fair value of all share-based awards is estimated on the date of grant. Refer to Note <em style="font: inherit;">17,</em> &#8220;Share Plans,&#8221; to the consolidated financial statements for further information on the Company&#8217;s share-based compensation plans and accounting.</p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b/></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Acquisition related costs</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Acquisition related costs are external costs the Company incurs to affect a business combination including legal fees,&#160;professional and advisory&#160;services, transaction taxes such as stamp tax, and insurance premiums.&#160;The Company accounts for acquisition related costs as expense&#160;in the period&#160;in which the costs are incurred and the services are received.&#160;Total acquisition related costs&#160;were <span style="color:#000000;">$1,459,</span> $21,465, and $1,411&#160;for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively.</p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"/>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b/></p><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>New Accounting Pronouncements </b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Changes to GAAP are established by the Financial Accounting Standards Board (FASB) in the form of accounting standard updates (&#8220;ASUs&#8221;) to the FASB Accounting Standards Codification (ASC). ASUs&#160;<em style="font: inherit;">not</em>&#160;listed below were assessed and determined to be either&#160;<em style="font: inherit;">not</em>&#160;applicable or are&#160;<em style="font: inherit;">not</em>&#160;expected to have a material impact on the Company&#8217;s consolidated financial statements.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Recently Adopted </i></b><b><i>Accounting Standards</i></b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> October&#160;</em><em style="font: inherit;">1,</em> <em style="font: inherit;">2022</em><i>,&#160;</i>the Company elected to early adopt&#160;ASU&#160;<em style="font: inherit;">2022</em>-<em style="font: inherit;">04</em><i>,&#160;Liabilities&#160;&#8211; Supplier Finance Program: Disclosure of Supplier Finance Program Obligations</i>. This guidance was issued to enhance the transparency of supplier finance programs. The amendments in this update require that a buyer in a supplier finance program disclose sufficient information about the program to allow a user&#160;of&#160;financial statements to understand the program's nature, activity during the period, changes from period to period, and potential magnitude. The Company has <em style="font: inherit;">one</em> supplier finance program; however, the program magnitude&#160;is <em style="font: inherit;">not</em> material to the Company.</p><p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>


  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18726-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI https://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364763220208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Acquisitions<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationDisclosureTextBlock', window );">Business Combination Disclosure [Text Block]</a></td>
<td class="text">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">3.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Acquisitions</b><b> </b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><i>&#160;</i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i>Fiscal <em style="font: inherit;">2022</em></i></b></p>
   <div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
     &#160;
   </div>
   <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i>Acquisitions</i></b></p>
   <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</p>
   <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: justify;">On <em style="font: inherit;"> June 30, 2022,&#160;</em>the Company acquired EEC. Headquartered in Marlborough, Massachusetts, EEC is an industrial generator distributor as well as a provider of&#160;data center and telecom facility design, build, maintenance, and repair services.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> October 3, 2022, </em>the Company acquired Blue Pillar, an industrial IoT platform developer that designs, deploys, and manages industrial IoT network software solutions to enable distributed energy generation monitoring and control.</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The&#160;combined purchase price for these acquisitions was $<span style="color:#000000;">25,654, net of cash acquired and</span>&#160;funded solely through cash on hand.&#160;The Company recorded its preliminary purchase price allocation for EEC and Blue Pillar during the <em style="font: inherit;">second</em>&#160;quarter and <em style="font: inherit;">fourth</em> quarter&#160;of <em style="font: inherit;">2022,</em> respectively, based on its estimates of the fair value of the acquired assets and assumed liabilities. The accompanying&#160;consolidated financial statements include the results of these <em style="font: inherit;">two</em> acquired businesses since the dates of acquisition through <em style="font: inherit;"> December 31, 2022.&#160;</em></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><i><b>Fiscal <em style="font: inherit;">2021</em></b></i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Acquisition of Deep Sea</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> June&#160;</em><em style="font: inherit;">1,</em> <em style="font: inherit;">2021,</em> the Company acquired Deep Sea&#160;for a purchase price, net of cash acquired, of $420,700. Headquartered in Hunmanby, United Kingdom, Deep Sea is a designer and manufacturer of a diverse suite of flexible control solutions&#160;focused on the global power generation and transfer switch markets.&#160;The acquisition purchase price was funded&#160;solely through cash on hand.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The Company finalized the Deep Sea&#160;purchase price allocation during the <em style="font: inherit;">second</em> quarter of <em style="font: inherit;">2022</em> based on its estimates of the fair value of the acquired assets and assumed liabilities. The finalization did <em style="font: inherit;">not</em> result in material adjustments to the Company's preliminary estimates. As a result, the Company recorded&#160;$437,874&#160;of intangible assets, including $263,604&#160;of goodwill recorded in the International&#160;segment, as of the acquisition date. The goodwill ascribed to this&#160;acquisition is <em style="font: inherit;">not</em> deductible for tax purposes. The accompanying consolidated financial statements include the results of Deep Sea&#160;from the date of acquisition through <em style="font: inherit;"> December&#160;</em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022.</em>&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><b>Acquisition of Chilicon</b></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> July&#160;</em><em style="font: inherit;">2,</em> <em style="font: inherit;">2021,</em> the Company acquired Chilicon for a purchase price, net of cash acquired, of $61,129 inclusive of estimated contingent consideration.&#160;Based in Los Angeles, California, Chilicon is a designer and provider of grid-interactive microinverter and monitoring solutions for the solar market. Chilicon's power inversion and monitoring system technologies maximize photovoltaic (solar power) system production, lower installer operational cost, and promote end-user satisfaction. Total consideration&#160;consisted of the following:&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash paid at closing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11,821</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred cash payment (1)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Common stock issued at closing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">12,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Contingent consideration (2)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">31,308</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total purchase price</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">61,129</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width: 25px; vertical-align: top;">(<em style="font: inherit;">1</em>)</td><td style="vertical-align: top; width: 1730px;">Payable on the <em style="font: inherit;">third</em> business day after <em style="font: inherit;"> December 31, 2023.</em></td></tr>
<tr><td style="width: 25px; vertical-align: top;">(<em style="font: inherit;">2</em>)</td><td style="vertical-align: top; width: 1730px;">Payable in common stock issued upon achievement of certain performance targets within <em style="font: inherit;">45</em> calendar days following the conclusion of the contingent consideration period, <em style="font: inherit;"> December 31, 2025.&#160;</em></td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company finalized the Chilicon&#160;purchase price allocation during the <em style="font: inherit;">second</em> quarter of <em style="font: inherit;">2022</em> based on its estimates of the fair value of the acquired assets and assumed liabilities. The finalization did <em style="font: inherit;">not</em> result in material adjustments to the Company's preliminary estimates. As a result, the Company recorded&#160;$70,174&#160;of intangible assets, including $36,974&#160;of goodwill recorded in the Domestic&#160;segment,&#160;as of the acquisition date. The goodwill ascribed to the Chilicon&#160;acquisition&#160;is <em style="font: inherit;">not</em> deductible for tax purposes.&#160;The accompanying consolidated financial statements include the results of Chilicon from&#160;the date&#160;of acquisition through <em style="font: inherit;"> December&#160;</em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022.</em>&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><b>Acquisition of Off Grid Energy</b></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> September&#160;</em><em style="font: inherit;">1,</em> <em style="font: inherit;">2021,</em> the Company acquired Off Grid Energy&#160;for a purchase price of $56,949, net of cash acquired and inclusive of the then estimated contingent consideration&#160;of $29,054&#160;payable in cash based on contingent consideration&#160;period performance.&#160;The contingent consideration was&#160;paid during the <em style="font: inherit;">third</em> quarter of <em style="font: inherit;">2022</em>&#160;in the amount of $16,135. Headquartered in Rugby, United Kingdom,&#160;Off Grid Energy&#160;is a designer and manufacturer of industrial-grade mobile energy storage systems.&#160;The acquisition purchase price was funded&#160;through cash on hand.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The Company finalized the Off Grid Energy&#160;purchase price allocation during the <em style="font: inherit;">third</em>&#160;quarter of <em style="font: inherit;">2022</em> based on its&#160;estimates of the fair value of the acquired assets and assumed liabilities. The finalization did <em style="font: inherit;">not</em> result in material adjustments to the Company's preliminary estimates.&#160;As a result, the Company recorded&#160;$56,076&#160;of intangible assets, including $21,531&#160;of goodwill recorded in the International&#160;segment, as of the acquisition date. The goodwill ascribed to this&#160;acquisition is <em style="font: inherit;">not</em> deductible for tax purposes. The accompanying&#160;consolidated financial statements include the results of Off Grid Energy&#160;from the date of acquisition through <em style="font: inherit;"> December&#160;</em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022.</em>&#160; &#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><b>Acquisition of ecobee</b></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> December 1, 2021, </em>the Company acquired ecobee for a purchase price, net of cash acquired, of $735,577 inclusive of estimated contingent consideration. Headquartered in Toronto, Canada,&#160;ecobee is a leader in sustainable home technology solutions including smart thermostats that deliver significant energy savings, security and peace of mind.&#160;The&#160;purchase price&#160;consisted of the following:</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash paid at closing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">225,403</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Common stock issued at closing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">420,774</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Contingent consideration (1)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">89,400</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total purchase price</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">735,577</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;">(<em style="font: inherit;">1</em>)</td><td style="vertical-align:top;">To be paid in the form of&#160;common stock issued upon achievement of certain performance targets following the end of <em style="font: inherit;">two</em> contingent consideration periods, <em style="font: inherit;">one</em> ended <em style="font: inherit;"> June 30, 2022, </em>and <em style="font: inherit;">one</em> originally ending <em style="font: inherit;"> June 30, 2023.</em></td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The contingent consideration for the period ended&#160;<em style="font: inherit;"> June 30, 2022, </em>was paid during the <em style="font: inherit;">fourth</em> quarter of <em style="font: inherit;">2022</em> in the amount of $47,123&#160;in shares of common stock, or 196,531 shares of common stock, and $542&#160;was paid with cash on hand.&#160;Additionally, during the <em style="font: inherit;">fourth</em> quarter of <em style="font: inherit;">2022,</em> the Company entered into a definitive agreement to accelerate the measurement&#160;and payment for the remaining contingent consideration&#160;period ending <em style="font: inherit;"> June 30, 2023. </em>The parties agreed to a final payment amount of $45,000&#160;issued with 466,188 shares of&#160;common stock during the <em style="font: inherit;">first</em> quarter of <em style="font: inherit;">2023.</em></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company finalized the ecobee&#160;purchase price allocation during the <em style="font: inherit;">fourth</em>&#160;quarter of <em style="font: inherit;">2022</em> based on its&#160;estimates of the fair value of the acquired assets and assumed liabilities. The finalization did <em style="font: inherit;">not</em> result in material adjustments to the Company's preliminary estimates.&#160;As a result, the Company recorded&#160;$806,131&#160;of intangible assets, including $248,231&#160;of goodwill recorded in the Domestic&#160;segment, as of the acquisition date. A portion of the&#160;goodwill ascribed to this&#160;acquisition is&#160;deductible for tax purposes. The accompanying consolidated financial statements include the results of ecobee&#160;from the date of acquisition through <em style="font: inherit;"> December&#160;</em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022.</em>&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"><b>Other Acquisitions</b></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> September 1, 2021, </em>the Company acquired Apricity Code, an advanced engineering and product design company located in Bend, Oregon.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> October 1, 2021, </em>the Company acquired Tank Utility,&#160;a provider of IoT propane tank monitoring that enables the optimization of propane fuel logistics.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The&#160;combined purchase price for these <em style="font: inherit;">two</em> acquisitions was $29,945, net of cash acquired, and was&#160;funded solely through cash on hand.&#160;The Company finalized its purchase price allocation during the <em style="font: inherit;">third</em>&#160;quarter of <em style="font: inherit;">2022</em> based on the Company's estimates of the fair value of the acquired assets and assumed liabilities. The finalization did <em style="font: inherit;">not</em> result in material adjustments to the Company's preliminary estimates. The accompanying consolidated financial statements include the results of these <em style="font: inherit;">two</em> acquired businesses since the dates of acquisition through <em style="font: inherit;"> December&#160;</em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022.</em>&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>


   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><i><b>Fiscal <em style="font: inherit;">2020</em></b></i></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Acquisition of Enbala</b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>&#160;</i></b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> October&#160;</em><em style="font: inherit;">7,</em> <em style="font: inherit;">2020,</em> the Company acquired Enbala&#160;for a purchase price, net of cash acquired, of $41,982. Enbala is <em style="font: inherit;">one</em> of the leading providers of distributed energy optimization and control software that helps support the operational stability of the world's power grids. The acquisition purchase price was funded&#160;solely through cash on hand.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company finalized its&#160;purchase price allocation during the <em style="font: inherit;">third</em>&#160;quarter of <em style="font: inherit;">2021</em>&#160;based on its estimates of the fair value of the acquired assets and assumed liabilities. The finalization did <em style="font: inherit;">not</em> result in material adjustments to the Company's preliminary estimates. As a result, the Company recorded&#160;$46,338&#160;of intangible assets, including $27,038&#160;of goodwill recorded in the Domestic segment, as of the acquisition date. A portion&#160;of the goodwill ascribed to this&#160;acquisition is&#160;deductible for tax purposes. The accompanying&#160;consolidated financial statements include the results of Enbala&#160;from the date of acquisition through <em style="font: inherit;"> December 31, 2022.&#160;</em></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Other Acquisitions</b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">On&#160;<em style="font: inherit;"> July 1, 2020,</em><i>&#160;</i>the Company acquired Energy Systems, its&#160;industrial distributor in northern California.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">On&#160;<em style="font: inherit;"> September 1, 2020,&#160;</em>the Company acquired Mean Green, a designer and manufacturer of commercial grade, battery-powered turf care products.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The&#160;combined purchase price for these acquisitions was $22,958&#160;and was&#160;funded solely through cash on hand.&#160;The Company finalized its&#160;purchase price allocation for these <em style="font: inherit;">two</em> acquisitions during the <em style="font: inherit;">third</em>&#160;quarter of <em style="font: inherit;">2021</em>&#160;based on its estimates of the fair value of the acquired assets and assumed liabilities. The finalization did <em style="font: inherit;">not</em> result in material adjustments to the Company's preliminary estimates. The accompanying&#160;consolidated financial statements include the results of the acquired businesses since the dates of acquisition through <em style="font: inherit;"> December 31, 2022.&#160;</em></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>


   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>Summary Purchase Price Allocations</i></b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The fair values assigned to certain assets acquired and liabilities assumed for all acquisitions completed during the reporting period, as of the acquisition dates, are as follows:</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022 Acquisitions</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021 Acquisitions</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020 Acquisitions</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>&#160;</b></td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Deep Sea</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>ecobee</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>All Other</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>&#160;</b></td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#160;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Accounts receivable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12,656</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,574</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">23,337</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">13,852</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">46,763</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,094</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,138</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,970</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,258</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,034</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">24,262</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,575</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Prepaid expenses and other current assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,707</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,181</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,689</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,594</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">13,464</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">858</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Property and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">708</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,838</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,588</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">480</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12,906</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">635</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,711</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">174,270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">557,900</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">81,171</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">813,341</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">26,235</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Goodwill</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,870</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">263,604</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">248,231</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">83,859</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">595,694</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">40,395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">40,020</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,694</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">45,714</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Other assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,953</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">151</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">9,289</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,526</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">17,966</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,122</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total assets acquired</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">38,743</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">467,588</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">895,312</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">207,210</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,570,110</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">77,914</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Accounts payable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,479</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,998</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">25,968</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,473</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">42,439</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,088</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Accrued wages and employee benefits</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,429</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,106</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,354</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">872</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,332</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">700</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Other accrued liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,934</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,737</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">19,898</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">18,258</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">39,893</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,151</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Short-term borrowings</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">800</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">800</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Current portion of long-term borrowings and finance lease obligations</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">233</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">233</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,090</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">33,957</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">78,753</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">19,930</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">132,640</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,827</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Other long-term liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,157</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">90</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">33,762</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,997</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">43,849</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,208</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Long-term debt</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,624</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,624</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Net assets acquired</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">25,654</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">420,700</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">735,577</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">148,023</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,304,300</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">64,940</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The allocations of the purchase price to identifiable assets and liabilities for the&#160;<em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em> acquisitions are based on the final valuations performed to determine the fair value of the net assets as of their respective acquisition dates.&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>


   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b><i>Pro Forma Information</i></b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following unaudited pro forma information of the Company gives effect to all acquisitions as though the transactions had occurred on <em style="font: inherit;"> January 1, 2020.&#160;</em>Refer to Note <em style="font: inherit;">1,</em> &#8220;Description of Business,&#8221; for further information on the acquisitions included in the table.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net Sales:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">As reported</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,564,737</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,737,184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,485,200</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Pro forma</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">4,593,485</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,932,250</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">2,764,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to Generac Holdings Inc.:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">As reported</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">399,502</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">550,494</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">350,576</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Pro forma (1)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">402,670</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">462,903</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">267,376</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to Generac Holdings Inc. per common share - diluted</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">As reported</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">5.42</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">8.30</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">5.48</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Pro forma</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">5.47</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">6.94</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">4.11</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#160;</td><td style="width:18pt;vertical-align:top;">(<em style="font: inherit;">1</em>)</td><td style="vertical-align:top;">Includes additional pro forma intangible amortization from all acquisitions as though the transactions had occurred on <em style="font: inherit;"> January 1, 2020 </em>of $941, $68,247, and $84,151 for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021,</em> and <em style="font: inherit;">2020,</em>&#160;respectively.</td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">This unaudited pro forma information is presented for informational purposes only and is <em style="font: inherit;">not</em> necessarily indicative of the results of operations that actually would have been achieved had the acquisitions been consummated on <em style="font: inherit;"> January 1, 2020.</em></p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -URI https://asc.fasb.org/topic&amp;trid=2303972<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4946-128472<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766825792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Redeemable Noncontrolling Interest<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_RedeemableNoncontrollingInterestTextBlock', window );">Redeemable Noncontrolling Interest [Text Block]</a></td>
<td class="text">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;">
    <tbody>
     <tr>
      <td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">4.</em></b></p> </td>
      <td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Redeemable Noncontrolling Interest</b></p> </td>
     </tr>

    </tbody>
   </table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#160;</b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> March 1, 2016, </em>the Company acquired a 65% ownership interest in PR Industrial S.r.l. and its subsidiaries (Pramac). The 35% noncontrolling interest in Pramac had an acquisition date fair value of $34,253 and was recorded as a redeemable noncontrolling interest in the consolidated balance sheet, as the noncontrolling interest holder had the right to require the Company to redeem its interest in Pramac. In <em style="font: inherit;"> February 2019, </em>the Company amended its agreement with the noncontrolling interest holder of Pramac, extending the agreement by <span style="-sec-ix-hidden:c93263915">five</span> years, allowing the Company to exercise its call option rights in partial increments at certain times during the <em style="font: inherit;">five</em>-year period, and providing that the noncontrolling interest holder <em style="font: inherit;">no</em> longer held&#160;the right to put its shares to the Company until <em style="font: inherit;"> April 1, 2021. </em>The put and call option price is based on a multiple of earnings, subject to a floor and the terms of the acquisition agreement, as amended. In <em style="font: inherit;"> May 2021, </em>the Company exercised its call option rights and paid a purchase price of $27,164 to purchase an additional 15% ownership interest in Pramac, bringing the Company's total ownership interest&#160;to 80%. The Company still holds its call option right to purchase the remaining 20% ownership interest in partial increments over the next <span style="-sec-ix-hidden:c93263922">two</span>&#160;years.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>


   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> February 1, 2019, </em>the Company acquired a 51% ownership interest in Captiva Energy Solutions, Ltd (Captiva). The 49% noncontrolling interest in Captiva had&#160;an acquisition date fair value of $3,165 and was recorded as a redeemable noncontrolling interest in the consolidated balance sheet, as the noncontrolling interest holder had&#160;the right to require the Company to redeem its interest in Captiva. The noncontrolling interest holder has a put option to sell his interest to the Company any time after <span style="-sec-ix-hidden:c93263927">five</span> years from the date of acquisition, or earlier upon the occurrence of certain circumstances. Further, the Company has a call option that it <em style="font: inherit;"> may </em>redeem any time after <span style="-sec-ix-hidden:c93263928">five</span> years from the date of acquisition, or earlier upon the occurrence of certain circumstances. The put and call option price is based on a multiple of earnings, subject to the terms of the acquisition agreement.&#160;In <em style="font: inherit;"> March 2022, </em>the Company signed an agreement to purchase an additional 15% ownership interest in Captiva for a purchase price of $461, bringing&#160;the Company's total ownership interest in Captiva to 66%.&#160;In <em style="font: inherit;"> May 2022, </em>the Company signed an amendment to the purchase agreement resulting in a revised purchase price of $375, which&#160;was paid with cash on hand. The Company still holds its call option&#160;right&#160;to purchase the remaining 34% ownership interest any time after <span style="-sec-ix-hidden:c93263934">five</span> years from the date of acquisition, or earlier upon the occurrence of certain circumstances.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">For both transactions, the redeemable noncontrolling interest is recorded at the greater of the initial fair value, increased or decreased for the noncontrolling interests&#8217; share of subsequent comprehensive income (loss), or the estimated redemption value, with any adjustments to the redemption value impacting retained earnings, but <em style="font: inherit;">not</em> net income. However, the redemption value adjustments are reflected in the earnings per share calculation, as detailed in Note <em style="font: inherit;">14,</em> &#8220;Earnings Per Share,&#8221; to the consolidated financial statements. The following table presents the changes in the redeemable noncontrolling interest:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">
     <tbody>
      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2020</em></b></p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance at beginning of period</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">58,050</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">66,207</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">61,227</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Share of net income (loss)</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">7,543</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">5,574</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">(2,829</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">)</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Foreign currency translation</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">(3,982</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">)</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">(3,669</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">)</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">6,562</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Purchase of additional ownership interest</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">(375</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">)</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">(27,164</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">)</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">-</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Redemption value adjustment</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">49,235</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">17,102</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">1,247</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Balance at end of period</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">110,471</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">58,050</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">66,207</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>

   <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#160;</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_RedeemableNoncontrollingInterestTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Entire disclosure for redeemable noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_RedeemableNoncontrollingInterestTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766801856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 5 - Derivative Instruments and Hedging Activities<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock', window );">Derivative Instruments and Hedging Activities Disclosure [Text Block]</a></td>
<td class="text">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">5.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Derivative Instruments and Hedging Activities</b><b> </b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Commodities</i></b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><i>&#160;</i></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company is exposed to price fluctuations in commodities including steel, copper and aluminum; and periodically utilizes commodity derivatives to mitigate the impact of these potential price fluctuations on its financial results. These derivatives typically have maturities of less than <em style="font: inherit;">eighteen</em> months. At <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021,</em>&#160;the Company had no&#160;commodity contracts outstanding.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Because these contracts do <em style="font: inherit;">not</em> qualify for hedge accounting, the related gains and losses are recorded in cost of goods sold in the Company&#8217;s consolidated statements of comprehensive income. Net pre-tax gains&#160;recognized were $29, $613, and&#160;$2,185&#160;for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>&#160;</i></b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Foreign Currencies</i></b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company is exposed to foreign currency exchange risk as a result of transactions denominated in currencies other than the U.S. Dollar. The Company periodically utilizes foreign currency forward purchase and sales contracts to manage the volatility associated with certain foreign currency purchases and sales in the normal course of business. Contracts typically have maturities of <em style="font: inherit;">twelve</em> months or less. As of&#160;<em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em>, the Company had <span style="-sec-ix-hidden:c93263974">thirty-four</span> and <span style="-sec-ix-hidden:c93263975">eleven</span> foreign currency contracts outstanding, respectively.&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Because these contracts do <em style="font: inherit;">not</em> qualify for hedge accounting, the related gains and losses are recorded in &#8220;other, net&#8221; in the Company&#8217;s consolidated statements of comprehensive income. Net pre-tax gains (losses) recognized for the years ended&#160;<em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>&#160;were $579, $(416), and $355, respectively.</p>
   <p style="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt;">&#160;</p>


   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Interest Rate Swaps</i></b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">In <em style="font: inherit;">2017,</em> the Company entered into <span style="-sec-ix-hidden:c93263985">twenty</span> interest rate swap agreements, <em style="font: inherit;">four</em>&#160;of which were still outstanding as of <em style="font: inherit;"> December 31, 2022. </em>In <em style="font: inherit;"> March 2020, </em>the Company entered into <span style="-sec-ix-hidden:c93263987">three</span> additional interest rate swap agreements, bringing the total outstanding interest rate swaps to <span style="-sec-ix-hidden:c93263988">seven</span>&#160;as of <em style="font: inherit;"> December 31, 2022.</em></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">In <em style="font: inherit;"> June 2022, </em>in conjunction with the amendments to the Company's credit agreements discussed further in Note <em style="font: inherit;">12,</em> &#8220;Credit Agreements,&#8221; to the&#160;consolidated financial statements, the Company amended its interest rate swaps&#160;to match&#160;the underlying debt and reconfirmed hedge effectiveness. The Company formally documented all relationships between interest rate hedging instruments and the related hedged items, as well as its risk-management objectives and strategies for undertaking various hedge transactions. These interest rate swap agreements qualify as cash flow hedges and therefore, the effective portions of their gains or losses are reported as a component of accumulated other comprehensive loss (AOCL) in the&#160;consolidated balance sheets.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The amount of after-tax unrealized gains (losses) recognized for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em> were $<span style="color:#000000;">38,494,</span> $20,529, and $(14,285), respectively. The cash flows of the swaps are recognized as adjustments to interest expense each period.&#160;The ineffective portions of the derivatives&#8217; changes in fair value, if any, are immediately recognized in earnings.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>&#160;</i></b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Fair Value</i></b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following table presents the fair value of the Company&#8217;s derivatives:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>December 31,<br/> 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>December 31,<br/> 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Foreign currency contracts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">94</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c93264001">(36)</span></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Interest rate swaps</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">49,279</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2,074</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The fair values of the foreign currency contracts and&#160;interest rate swaps are included in&#160;prepaid expenses and other current assets&#160;and operating lease and other assets in the consolidated balance sheet as of <em style="font: inherit;"> December 31, 2022</em>. The fair values of the foreign currency contracts and&#160;interest rate swaps are included in other accrued liabilities and other long-term liabilities&#160;in the consolidated balance sheet as of <em style="font: inherit;"> December 31, 2021</em>. Excluding the impact of credit risk, the fair value of the derivative contracts as of&#160;<em style="font: inherit;"> December 31, 2022, </em>is an asset of $51,184, which represents the net amount the Company would receive to exit all of the agreements on that&#160;date. Excluding the impact of credit risk, the fair value of the derivative contracts as of <em style="font: inherit;"> December 31, 2021, </em>is a liability of $2,148,&#160;which represents the net amount the Company would pay to&#160;exit all of the agreements on that&#160;date.</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -URI https://asc.fasb.org/topic&amp;trid=2229140<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126731327&amp;loc=d3e90205-114008<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766086224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Accumulated Other Comprehensive Loss<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNoteTextBlock', window );">Comprehensive Income (Loss) Note [Text Block]</a></td>
<td class="text">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">6.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Accumulated Other Comprehensive Loss</b><b> </b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following presents a tabular disclosure of changes in AOCL&#160;during the years ended <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em>, net of tax:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Foreign Currency Translation Adjustments</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Unrealized Gain (Loss) on Cash Flow Hedges</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Total</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 55%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Beginning Balance &#8211; January 1, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(52,704</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(2,051</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(54,755</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other comprehensive income (loss) before reclassifications</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(48,841</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><em style="font: inherit;">(1)</em></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">38,494</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><em style="font: inherit;">(2)</em></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(10,347</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Amounts reclassified from AOCL</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net current-period other comprehensive income (loss)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(48,841</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">38,494</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(10,347</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Ending Balance &#8211; December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(101,545</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">36,443</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(65,102</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Foreign Currency Translation Adjustments</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Unrealized Gain (Loss) on Cash Flow Hedges</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 55%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Beginning Balance &#8211; January 1, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(11,674</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(22,580</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(34,254</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other comprehensive income (loss) before reclassifications</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(41,030</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">(3)</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">20,529</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">(4)</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(20,501</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Amounts reclassified from AOCL</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net current-period other comprehensive income (loss)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(41,030</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">20,529</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(20,501</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Ending Balance &#8211; December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(52,704</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(2,051</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(54,755</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#160;</td><td style="width:18pt;vertical-align:top;">(<em style="font: inherit;">1</em>)</td><td style="vertical-align:top;">Represents unfavorable impact from the strengthening of the U.S. dollar against foreign currencies during the year ended <em style="font: inherit;"> December 31, 2022, </em>particularly the Euro and British Pound.&#160;</td></tr>
<tr><td style="width:18pt;">&#160;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">2</em>)</p> </td><td style="vertical-align:top;">Represents unrealized gains of $51,352 on the interest rate swaps, net of tax effect of $(12,858) for the year ended <em style="font: inherit;"> December 31, 2022</em>.</td></tr>
<tr><td style="width:18pt;">&#160;</td><td style="width:18pt;vertical-align:top;">(<em style="font: inherit;">3</em>)</td><td style="vertical-align:top;">Represents unfavorable impact from the strengthening of the U.S. dollar against foreign currencies during the year ended <em style="font: inherit;"> December 31, 2021, </em>particularly the Euro and British Pound.&#160;</td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#160;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">4</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Represents unrealized gains of $27,462 on the interest rate swaps, net of tax effect of $(6,933)&#160;for the year ended <em style="font: inherit;"> December 31, 2021.</em></p> </td></tr>
</tbody></table>
   <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#160;</p>


  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNoteTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -URI https://asc.fasb.org/topic&amp;trid=2134417<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNoteTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766825792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Segment Reporting<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">Segment Reporting Disclosure [Text Block]</a></td>
<td class="text">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">7.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Segment Reporting</b><b> </b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#160;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company has <span style="-sec-ix-hidden:c93264071">two</span> reportable segments for financial reporting purposes &#8211; Domestic and International. The Domestic segment includes the legacy Generac business&#160;(excluding its traditional Latin American export operations), and the acquisitions that are based in the U.S. and Canada, all of which have revenues&#160;substantially derived from the U.S. and Canada. The International segment includes the legacy Generac business' Latin American export operations, and the acquisitions <em style="font: inherit;">not</em> based in the U.S and Canada, all of which have revenues&#160;substantially derived from outside the U.S and Canada. Both reportable segments design and manufacture a wide range of&#160;energy technology solutions&#160;and other power products. The Company has multiple operating segments, which it aggregates into the <em style="font: inherit;">two</em> reportable segments, based on materially similar economic characteristics, products, production processes, classes of customers, distribution methods, organizational structure,&#160;and regional considerations.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company's product offerings consist primarily of power generation equipment, energy storage systems, energy management devices &amp; solutions, and other power products geared for varying end customer uses. Residential products and C&amp;I&#160;products are each a similar class of products based on similar power output and end customer. The breakout of net sales between residential, C&amp;I, and other products &amp; services by reportable segment is as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Net Sales by Segment</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31, 2022</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Product Classes</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Domestic</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">International</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Total</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Residential products</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">2,782,037</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">129,834</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">2,911,871</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Commercial &amp; industrial products</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">746,172</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">514,565</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,260,737</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">339,657</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">52,472</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">392,129</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,867,866</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">696,871</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,564,737</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31, 2021</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Product Classes</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Domestic</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">International</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Total</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Residential products</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,366,908</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">89,857</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,456,765</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Commercial &amp; industrial products</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">556,520</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">442,478</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">998,998</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">240,622</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">40,799</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">281,421</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,164,050</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">573,134</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,737,184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31, 2020</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Product Classes</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Domestic</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">International</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Total</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Residential products</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,495,383</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">61,118</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,556,501</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Commercial &amp; industrial products</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">404,867</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">296,884</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">701,751</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">188,558</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">38,390</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">226,948</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,088,808</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">396,392</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,485,200</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>


   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Residential products consist primarily of automatic home standby generators ranging in output from <em style="font: inherit;">7.5kW</em> to <em style="font: inherit;">150kW,</em> portable generators, energy storage systems, energy management devices &amp; solutions, and other outdoor power equipment. These products are predominantly sold through independent residential dealers, national and regional retailers, e-commerce merchants, electrical/HVAC/solar wholesalers, solar installers, and outdoor power equipment dealers. The residential products revenue consists of the sale of the product to our distribution partners, who&#160;in turn sell or rent the product to the end consumer, including installation and maintenance services. In some cases, residential products are sold direct to the end consumer. Substantially all of the residential products revenues are transferred to the customer at a point in time.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">C&amp;I products consist of larger output stationary generators used in C&amp;I applications, with power outputs up to <em style="font: inherit;">3,250kW.</em> Also included in C&amp;I products are mobile generators, light towers, mobile energy storage systems, mobile heaters,&#160;mobile pumps, and related controllers for power generation equipment. These products are sold globally through industrial distributors and dealers, EPC companies, equipment rental companies, and equipment distributors. The C&amp;I products revenue consists of the sale of the product to our distribution partners, who&#160;in turn sell or rent the product to the end customer, including installation and maintenance services. In some cases, C&amp;I products are sold direct to the end customer. Substantially all of the C&amp;I products revenues are transferred to the customer at a point in time.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Other&#160;consists primarily of aftermarket service parts and product accessories sold to our customers,&#160;the amortization of extended warranty deferred revenue,&#160;remote monitoring and grid services subscription revenue, as well as&#160;certain installation&#160;and maintenance service revenue. The aftermarket service parts and product accessories are generally transferred to the customer at a point in time, while the extended warranty and subscription revenue are&#160;recognized over the life of the contract. Other service revenue is recognized when the service is performed.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following tables sets forth total sales by reportable segment and inclusive of intersegment sales:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Domestic</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>International</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Eliminations</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">External net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,867,866</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">696,871</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,564,737</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Intersegment sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">60,731</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">93,699</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(154,430</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,928,597</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">790,570</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(154,430</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,564,737</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Domestic</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>International</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Eliminations</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">External net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,164,050</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">573,134</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,737,184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Intersegment sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">39,339</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">26,123</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(65,462</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,203,389</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">599,257</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(65,462</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,737,184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Domestic</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>International</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Eliminations</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">External net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,088,808</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">396,392</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,485,200</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Intersegment sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">13,505</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,649</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(15,154</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,102,313</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">398,041</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(15,154</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,485,200</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Management evaluates the performance of its segments based primarily on Adjusted EBITDA, which is reconciled to Income before provision for income taxes below. The computation of Adjusted EBITDA is based primarily on the definition that is contained in the Company&#8217;s credit agreements.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Adjusted EBITDA</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Domestic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">716,302</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">795,417</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">563,394</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">International</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">109,065</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">66,008</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">20,379</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total adjusted EBITDA</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">825,367</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">861,425</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">583,773</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Interest expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(54,826</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(32,953</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(32,991</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Depreciation and amortization</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(156,141</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(92,041</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(68,773</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Non-cash write-down and other adjustments (1)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">2,091</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,070</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">327</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Non-cash share-based compensation expense (2)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(29,481</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(23,954</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(20,882</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Loss on extinguishment of debt (3)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(3,743</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(831</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Transaction costs and credit facility fees (4)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(5,026</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(22,357</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(2,151</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Business optimization and other charges (5)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(4,371</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(33</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(12,158</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Provision for regulatory and clean energy product charges (6)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(65,265</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(139</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(800</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(954</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Income before provision for income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">508,466</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">691,526</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">446,191</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#160;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">1</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Includes gains/losses on disposals&#160;of assets and sales&#160;of&#160;certain&#160;investments, unrealized mark-to-market adjustments on commodity contracts, certain foreign currency related adjustments, and certain purchase accounting and contingent consideration adjustments.</p> </td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#160;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">2</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Represents share-based compensation expense to account for stock options, restricted stock and other stock awards over their respective vesting periods.</p> </td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#160;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">3</em>)</p> </td><td style="vertical-align:top;">Represents the non-cash write-off of original issue discount and deferred financing costs due primarily to a voluntary prepayment of debt.</td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#160;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">4</em>)</p> </td><td style="vertical-align:top;">Represents transaction costs incurred directly in connection with any investment, as defined in our credit agreement, equity issuance, debt issuance, or refinancing, together with certain fees relating to our senior secured credit facilities.</td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#160;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">5</em>)</p> </td><td style="vertical-align:top;">For the year ended <em style="font: inherit;"> December 31, 2022, </em>predominantly represents severance and other restructuring charges related to the suspension of operations at certain of our facilities. For the year ended <em style="font: inherit;"> December 31, 2020, </em>represents severance, non-cash asset write-downs and other charges to address the impact of the COVID-<em style="font: inherit;">19</em> pandemic and decline in oil prices on demand for C&amp;I products.&#160;These charges represent expenses that do <em style="font: inherit;">not</em> reflect ongoing operations.</td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#160;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">6</em>)</p> </td><td style="vertical-align:top;"> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">For the year ended <em style="font: inherit;"> December 31, 2022, </em>represents a specific credit loss provision of $17,926 for a clean energy product customer that filed for bankruptcy, as well as a warranty provision of $37,338 to address certain clean energy product warranty-related matters. The amount also includes&#160;a provision of $10,000&#160;for a pending and unresolved matter with the CPSC concerning the imposition of potential penalty fines for allegedly failing to timely submit a report under the CPSA in relation to certain portable generators that were subject to a voluntary recall previously announced on <em style="font: inherit;"> July 29, 2021.</em></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>


   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">The following tables summarize additional financial information by reportable segment:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Assets</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Domestic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">4,032,086</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,742,101</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">2,659,597</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">International</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">1,137,376</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">1,135,679</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">575,826</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,169,462</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,877,780</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,235,423</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Depreciation and Amortization</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Domestic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">123,768</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">66,675</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">53,020</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">International</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">32,373</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">25,366</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">15,753</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">156,141</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">92,041</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">68,773</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Capital Expenditures</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Domestic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">69,680</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">100,672</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">51,867</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">International</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">16,508</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">9,320</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">10,261</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">86,188</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">109,992</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">62,128</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company&#8217;s sales in the United States represent approximately 80%, 82%, and 82% of total sales for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively. Approximately 77% and 75% of the Company&#8217;s identifiable long-lived assets are located in the United States as of <em style="font: inherit;"> December 31, 2022&#160;</em>and <em style="font: inherit;">2021,</em> respectively.</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 34<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8981-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8721-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 26<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8844-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8657-108599<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8721-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -URI https://asc.fasb.org/topic&amp;trid=2134510<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766683168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Balance Sheet Details<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock', window );">Supplemental Balance Sheet Disclosures [Text Block]</a></td>
<td class="text">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">8.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Balance Sheet Details</b><b> </b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Inventories consist of the following:</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Raw material</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">798,340</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">727,162</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Work-in-process</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">14,899</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">10,756</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Finished goods</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">592,145</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">351,787</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,405,384</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,089,705</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>


   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">As of <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em>, inventories totaling $17,914&#160;and $15,555, respectively, were on consignment at customer locations.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Property and equipment consists of the following:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Land and improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">22,589</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">26,137</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Buildings and improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">243,553</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">244,273</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Machinery and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">229,593</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">186,611</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Dies and tools</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">37,343</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">31,581</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Vehicles</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">9,807</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">7,621</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Office equipment and systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">148,166</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">125,048</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Leasehold improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">6,849</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">5,679</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Construction in progress</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">52,522</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">47,601</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Gross property and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">750,422</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">674,551</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Accumulated depreciation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(282,818</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(233,699</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">467,604</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">440,852</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Total property and equipment included finance leases of $24,719&#160;and $36,776&#160;at <em style="font: inherit;"> December 31, 2022&#160;</em>and <em style="font: inherit;">2021,</em> respectively,&#160;primarily made up of buildings and improvements. Amortization of finance lease right of use assets&#160;is recorded within depreciation expense in the consolidated statements of comprehensive income. The initial measurement of new finance lease right of use assets&#160;is accounted for as a non-cash item in the consolidated statement of cash flows. Refer to Note <em style="font: inherit;">10,</em> &#8220;Leases,&#8221; for further information regarding the Company&#8217;s accounting for leases under ASC <em style="font: inherit;">842,</em> <i>Leases.</i></p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -URI https://asc.fasb.org/topic&amp;trid=2122208<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalBalanceSheetDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766864336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Goodwill and Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">Goodwill and Intangible Assets Disclosure [Text Block]</a></td>
<td class="text">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">9.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Goodwill and Intangible Assets</b><b> </b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The changes in the carrying amount of goodwill by reportable segment for the years ended <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em> are as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Domestic</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">International</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Total</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">702,535</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">152,693</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">855,228</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Acquisitions of businesses, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">293,614</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">284,447</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">578,061</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Foreign currency translation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(705</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(22,910</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(23,615</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">995,444</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">414,230</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,409,674</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Acquisitions of businesses, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">22,128</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">437</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">22,565</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Foreign currency translation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(915</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(30,444</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(31,359</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,016,657</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">384,223</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,400,880</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Refer to Note <em style="font: inherit;">3,</em> &#8220;Acquisitions,&#8221; to the consolidated financial statements for further information regarding the Company&#8217;s acquisitions.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The details of the gross goodwill applicable to each reportable segment at <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em> are as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2022</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2021</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><em style="font: inherit;">Gross</em></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><em style="font: inherit;">Accumulated Impairment</em></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><em style="font: inherit;">Net</em></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><em style="font: inherit;">Gross</em></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><em style="font: inherit;">Accumulated Impairment</em></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><em style="font: inherit;">Net</em></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Domestic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,519,850</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(503,193</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,016,657</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,498,637</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(503,193</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">995,444</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">International</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">388,834</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(4,611</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">384,223</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">418,841</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(4,611</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">414,230</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,908,684</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(507,804</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,400,880</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,917,478</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(507,804</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,409,674</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>


   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following table summarizes intangible assets by major category as of <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em>:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#160;</b></td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Weighted Average Amortization Years</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Gross</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Accumulated Amortization</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Net Book Value</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Gross</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Accumulated Amortization</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Net Book Value</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finite-lived intangible assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Tradenames</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;">14</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">157,751</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(58,821</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">98,930</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">162,563</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(47,353</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">115,210</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Customer lists</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">577,203</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(370,216</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">206,987</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">573,910</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(335,188</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">238,722</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Patents and technology</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">14</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">665,563</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(210,806</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">454,757</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">662,341</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(169,868</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">492,473</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Software</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,046</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,046</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,046</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,046</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Non-compete/other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">70,585</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(28,866</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">41,719</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">79,416</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(12,980</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">66,436</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total finite-lived intangible assets</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,472,148</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(669,755</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">802,393</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,479,276</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(566,435</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">912,841</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Indefinite-lived tradenames</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">128,321</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">128,321</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">128,321</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">128,321</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Total intangible assets</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,600,469</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(669,755</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">930,714</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,607,597</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(566,435</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,041,162</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Amortization expense of intangible assets was $103,320, $49,886, and $32,280&#160;in <em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively. Excluding the impact of any future acquisitions, the Company estimates amortization expense for the next <em style="font: inherit;">five</em> years will be as follows: <em style="font: inherit;">2023</em>&#160;-&#160;<span style="-sec-ix-hidden:c93264359">$99,512;</span> <em style="font: inherit;">2024</em>&#160;- <span style="-sec-ix-hidden:c93264361">$94,070;</span> <em style="font: inherit;">2025</em>&#160;- <span style="-sec-ix-hidden:c93264363">$89,561;</span> <em style="font: inherit;">2026</em>&#160;- <span style="-sec-ix-hidden:c93264365">$82,392;</span> <em style="font: inherit;">2027</em>&#160;- $56,162.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -URI https://asc.fasb.org/topic&amp;trid=2144416<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766685168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Leases<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_LesseeOperatingLeasesAndFinanceLeasesTextBlock', window );">Lessee, Operating Leases and Finance Leases [Text Block]</a></td>
<td class="text">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">10.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Leases</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#160;</b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company leases certain manufacturing facilities, distribution centers, office space, warehouses, automobiles, machinery and computer equipment globally under both finance and operating leases. The Company&#8217;s leases have remaining lease terms of up to 20 years, of which certain leases, primarily within the buildings and improvements asset class, include options to extend the leases for up to 10 additional years. Further, the Company leases certain buildings from a noncontrolling interest holder, which the Company has determined to be arm's&#160;length transactions.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company determines if an arrangement is or contains a lease at contract inception. The Company recognizes a right of use (&#8220;ROU&#8221;) asset and lease liability at the lease commencement date based on the present value of the lease payments over the lease term. As the Company&#8217;s leases generally do <em style="font: inherit;">not</em> provide an implicit rate, the incremental borrowing rate is used to determine the present value of lease payments. The incremental borrowing rate is a collateralized rate determined based on the lease term, the Company&#8217;s credit rating, and other market information available at the commencement date. The ROU asset also includes any lease payments made prior to the commencement date and is reduced by any lease incentives. The lease term <em style="font: inherit;"> may </em>include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. Lease expense for operating leases is recognized on a straight-line basis over the lease term, while lease expense for finance leases is recognized as depreciation and interest expense using the effective interest method. The Company&#8217;s variable lease expense generally consists of property tax and insurance payments that are variable in nature, however, these amounts are immaterial to the consolidated financial statements and are therefore <em style="font: inherit;">not</em> separately reported.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company has lease agreements with both lease and nonlease components, which it elected to account for as a single lease component. However, the Company did <em style="font: inherit;">not</em> elect to apply the recognition exception for short-term leases. The Company is applying these elections to all asset classes.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company&#160;is a lessor of certain of its C&amp;I mobile&#160;products as part of a rental fleet, as well as <em style="font: inherit;">two</em> of its&#160;buildings that it leases to&#160;<em style="font: inherit;">third</em> parties. The lease income related to these&#160;arrangements is <em style="font: inherit;">not</em> material to the consolidated financial statements.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company records its operating lease cost and amortization of finance lease ROU assets within cost of goods sold or operating expenses in the consolidated statements of comprehensive income depending on the cost center of the underlying asset. The Company records its finance lease interest cost within interest expense in the consolidated statements of comprehensive income.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>


   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">The components of total lease cost consist of the following:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 43%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">36,292</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">22,432</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">18,648</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance lease cost:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Amortization of ROU assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,298</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,187</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,587</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest on lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,945</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,021</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,237</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">41,535</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,640</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">23,472</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Supplemental balance sheet information related to the Company&#8217;s leases is as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating Leases</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease ROU assets (1)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">100,083</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">101,266</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease liabilities - current (2)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">30,330</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">23,549</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease liabilities - noncurrent (3)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">73,547</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">80,370</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total operating lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">103,877</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">103,919</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance Leases</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance lease ROU assets, gross</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">35,470</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">47,119</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Accumulated depreciation - finance lease ROU assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(10,751</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(10,343</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Finance lease ROU assets, net (4)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">24,719</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">36,776</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance lease liabilities - current (5)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,650</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,209</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance lease liabilities - noncurrent (6)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">24,770</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">34,966</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total finance lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,420</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">39,175</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#160;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">1</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Recorded in the operating lease and other assets line within the consolidated balance sheets</p> </td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#160;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">2</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Recorded in the other accrued liabilities line within the consolidated balance sheets</p> </td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#160;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">3</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Recorded in the operating lease and other long-term liabilities line within the consolidated balance sheets</p> </td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#160;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">4</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Recorded in the property and equipment, net line within the consolidated balance sheets</p> </td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#160;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">5</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Recorded in the current portion of long-term borrowings and finance lease obligations line within the consolidated balance sheets</p> </td></tr>
</tbody></table>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#160;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">6</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Recorded in the long-term borrowings and finance lease obligations line within the consolidated balance sheets</p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Supplemental cash flow information related to the Company&#8217;s leases is as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash paid for amounts included in the measurement of lease liabilities</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating cash flows from operating leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">36,020</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">21,250</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">18,412</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating cash flows from finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,919</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,972</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,871</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Financing cash flows from finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,931</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,679</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,957</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">ROU assets obtained in exchange for lease liabilities</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">28,766</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">55,057</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">41,678</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,874</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,026</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,737</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>


   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Weighted average remaining lease term and discount rate information related to the Company&#8217;s leases as of <em style="font: inherit;"> December 31, 2022&#160;</em>and <em style="font: inherit;">2021</em>&#160;is as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 64%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average remaining lease term (in years)</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating Leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4.65</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5.21</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Finance Leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11.26</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11.94</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average discount rate</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating Leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4.82</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3.58</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Finance Leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7.58</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7.43</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">The maturities of the Company&#8217;s lease liabilities as of <em style="font: inherit;"> December 31, 2022&#160;</em>are as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Finance Leases</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Operating Leases</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">4,487</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">34,208</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">4,223</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">30,834</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,639</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">20,386</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,137</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">9,855</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">2,929</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">8,334</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">After 2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">24,405</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">14,743</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total minimum lease payments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">42,820</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">118,360</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Interest component</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(15,400</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(14,483</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Present value of minimum lease payments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,420</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">103,877</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_LesseeOperatingLeasesAndFinanceLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases and finance leases of lessee.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_LesseeOperatingLeasesAndFinanceLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766683168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Product Warranty Obligations<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyDisclosureTextBlock', window );">Product Warranty Disclosure [Text Block]</a></td>
<td class="text">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b><em style="font: inherit;">11.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b>Product Warranty Obligations</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company records a liability for standard product warranty obligations accounted for as assurance warranties at the time of sale of the related product to a customer based on historical warranty experience. The Company also records a liability for specific warranty matters when they become known and are reasonably estimable. The following is a tabular reconciliation of the Company&#8217;s standard product warranty liability accounted for as an assurance warranty:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at beginning of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">94,213</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">59,218</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">49,316</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Product warranty reserve assumed in acquisition</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,932</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">124</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Payments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(77,476</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(42,682</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(33,496</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Provision for warranty issued</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">80,340</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">69,280</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">42,093</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Changes in estimates for pre-existing warranties (1)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">40,934</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">4,465</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">1,181</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at end of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">138,011</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">94,213</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">59,218</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;">(<em style="font: inherit;">1</em>)</td><td style="vertical-align:top;">Includes a specific warranty provision recorded during the <em style="font: inherit;">third</em> quarter of <em style="font: inherit;">2022</em> in the amount of $37,338 to address certain clean energy product related matters.&#160;</td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company also sells extended warranty coverage for certain products, which it accounts for as a service warranty. The sales of extended warranties are recorded as deferred revenue, and typically have a duration of <span style="-sec-ix-hidden:c93264605">five</span> to <span style="-sec-ix-hidden:c93264606">ten</span> years. The deferred revenue related to extended warranty coverage is amortized over the duration of the extended warranty contract period, following the standard warranty period, using the straight-line method. The Company believes the straight-line method is appropriate because the performance obligation is satisfied based on the passage of time. The amortization of deferred revenue is recorded to net sales in the consolidated statements of comprehensive income. The following is a tabular reconciliation of the deferred revenue related to extended warranty coverage:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at beginning of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">111,647</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">89,788</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">78,738</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Deferred revenue contracts issued</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">42,869</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">41,560</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">26,968</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Amortization of deferred revenue contracts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(21,703</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(19,701</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(15,918</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at end of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">132,813</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">111,647</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">89,788</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>


   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The timing of recognition of the Company&#8217;s deferred revenue balance related to extended warranties at <em style="font: inherit;"> December 31, 2022</em> is as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">202<span style="-sec-ix-hidden:c93264675">3</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">30,291</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">202<span style="-sec-ix-hidden:c93264677">4</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">24,472</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">202<span style="-sec-ix-hidden:c93264679">5</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">22,120</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">202<span style="-sec-ix-hidden:c93264681">6</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">17,803</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">After 202<span style="-sec-ix-hidden:c93264683">6</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">38,127</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">132,813</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company has&#160;a post-sale extended warranty marketing agreement&#160;with a <em style="font: inherit;">third</em> party, pursuant to which&#160;the Company is required to pay fees to the <em style="font: inherit;">third</em>-party service provider based on the number of extended warranty contracts that they sell, which it classifies as costs to obtain a contract. These fees are deferred and recorded as other assets in the consolidated balance sheets, and then&#160;amortized to net sales in the consolidated statements of comprehensive income over the same period that the underlying deferred revenue is recognized. Deferred contract costs as of <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em> were&#160;$9,199&#160;and $8,479, respectively. Amortization of deferred contract costs recorded during the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em> was $1,932,&#160;$1,739, and $1,303, respectively.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Standard product warranty obligations and extended warranty related deferred revenues are included in the consolidated balance sheets as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Product warranty liability</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Current portion - accrued product warranty</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">89,141</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">59,052</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Long-term portion - other long-term liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">48,870</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">35,161</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">138,011</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">94,213</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Deferred revenue related to extended warranties</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Current portion - other accrued liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">30,291</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">20,556</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Long-term portion - other long-term liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">102,522</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">91,091</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">132,813</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">111,647</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -URI https://asc.fasb.org/topic&amp;trid=2155896<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766712624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Credit Agreements<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">Debt Disclosure [Text Block]</a></td>
<td class="text">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b><em style="font: inherit;">12.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b>Credit Agreements</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Short-term borrowings included in the consolidated balance sheets as of <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em> consisted&#160;of borrowings by the Company&#8217;s foreign subsidiaries on local lines of credit totaling $48,990 and $72,035, respectively.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Long-term borrowings are included in the consolidated balance sheets as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Tranche A Term Loan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">750,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Tranche B Term Loan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">530,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">780,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Original issue discount and deferred financing costs</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(16,568</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(13,214</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">ABL facility</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">100,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Revolver</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">90,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Finance lease obligation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">27,420</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">39,175</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">966</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">2,060</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,381,818</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">908,021</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Less: current portion of debt</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">10,083</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,721</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Less: current portion of finance lease obligation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">2,650</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">4,209</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,369,085</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">902,091</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>


   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Maturities of long-term borrowings outstanding at <em style="font: inherit;"> December 31, 2022</em>, excluding finance lease obligations as their maturities are disclosed in Note <em style="font: inherit;">10,</em> &#8220;Leases,&#8221; and before considering original issue discount and deferred financing costs, are as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Tranche A Term Loan</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Tranche B Term Loan</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Revolver and Other</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Total</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,375</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">708</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,083</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">28,125</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">53</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">28,178</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">46,875</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">56</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">46,931</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">65,625</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">530,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">86</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">595,711</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">600,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">90,032</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">690,032</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">After 2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">31</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">31</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">750,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">530,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">90,966</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,370,966</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">The Tranche B Term Loan Facility matures on <em style="font: inherit;"> December 13, 2026, </em>while the Tranche A Term Loan Facility and Revolving Facility mature on <em style="font: inherit;"> June 29, 2027.&#160;</em>The Tranche A Term Loan Facility principal is repayable in quarterly installments beginning in <em style="font: inherit;"> September 2023.</em></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company&#8217;s credit agreements originally provided for a $1,200,000 term loan B credit facility (Tranche B Term Loan Facility) and included a $300,000 uncommitted incremental term loan on that facility. The maturity date of the Tranche B Term Loan Facility is <em style="font: inherit;"> December 13, 2026. </em>The Tranche B Term Loan Facility initially bore interest at rates based on either a base rate plus an applicable margin of 1.75% or adjusted LIBOR rate plus an applicable margin of 2.75%, subject to a LIBOR floor of 0.75%. After a number of amendments, as listed below, the Tranche B Term Loan Facility currently bears interest at rates based on either a base rate plus an applicable margin of 0.75% or adjusted Secured Overnight Financing Rate (SOFR) rate plus an applicable margin of 1.75%, subject to a SOFR floor of 0.00%. The interest rate for the Tranche B Term Loan Facility as of <em style="font: inherit;"> December 31, 2022 </em>was 5.97%.&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Tranche B Term Loan Facility does <em style="font: inherit;">not</em> require an Excess Cash Flow payment if the Company&#8217;s net secured leverage ratio is maintained below 3.75 to <em style="font: inherit;">1.00</em> times. As of <em style="font: inherit;"> December 31, 2022</em>, the Company&#8217;s net secured leverage ratio was&#160;<span style="color:#000000;">1.55<b>&#160;</b></span>to <em style="font: inherit;">1.00</em> times, and the Company was in compliance with all covenants of the Tranche B Term Loan Facility. There are <em style="font: inherit;">no</em> financial maintenance covenants on the Tranche B Term Loan Facility.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company&#8217;s credit agreements also originally provided for a&#160;senior secured ABL revolving credit facility (ABL Facility). ABL Facility borrowings initially bore interest at rates based on either a base rate plus an applicable margin of 1.00% or adjusted LIBOR rate plus an applicable margin of 2.00%, in each case, subject to adjustments based on average availability under the&#160;ABL Facility.&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">In <em style="font: inherit;"> May 2021, </em>the Company amended the ABL Facility, increasing its borrowing limit from $300,000 to $500,000, raising&#160;its incremental capacity from $100,000 to $200,000,&#160;and extending the maturity date from <em style="font: inherit;"> June 12, 2023 </em>to <em style="font: inherit;"> May 27, 2026 (</em>Amended ABL Facility). In addition, the Amended ABL Facility modified the pricing by reducing&#160;certain applicable interest rates to either a base rate plus an applicable margin of 0.00% to 0.25% or adjusted LIBOR rate plus an applicable margin of 1.00% to 1.25%, in each case,&#160;based on average availability under the Amended ABL Facility. In connection with this amendment, the Company capitalized $920 of new debt issuance costs as deferred financing costs on long-term borrowings in the <em style="font: inherit;">second</em> quarter of <em style="font: inherit;">2021.</em> At the same time, the Company also amended its Tranche B Term Loan Facility agreement to reflect the same amendments made to the ABL Facility.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">In <em style="font: inherit;"> May 2021, </em>the Company borrowed $50,000 under the Amended ABL Facility, the proceeds of which were used as a voluntary prepayment of the Tranche B Term Loan Facility. As a result of this&#160;prepayment of the Tranche B Term Loan Facility, the Company wrote off $831 of original issue discount and capitalized debt issuance costs during the <em style="font: inherit;">second</em> quarter of <em style="font: inherit;">2021</em> as a loss on extinguishment of debt in the&#160;consolidated statements of comprehensive income.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">In <em style="font: inherit;"> June 2022, </em>the Company again amended and restated&#160;its existing credit agreements (Amended Credit Agreement) resulting in a new term loan facility in an aggregate principal amount of $750,000 (Tranche A Term Loan Facility), established&#160;a new revolving facility in an aggregate principal amount of $1,250,000 (Revolving Facility), terminated the ABL Facility, and&#160;replaced all LIBOR provisions to the existing Tranche B Term Loan Facility with SOFR provisions. The maturity date of the Tranche A Term Loan Facility and the Revolving Facility is <em style="font: inherit;"> <span style="-sec-ix-hidden:c93264783">June 29, 2027</span>. </em>Proceeds received by the Company from the Tranche A Term Loan Facility were used to repay the total existing outstanding balance on the Company's former ABL Facility,&#160;make a $250,000 voluntary prepayment on the Tranche B Term Loan Facility, with the remaining funds to be used for future general corporate purposes.&#160;As a result of these&#160;prepayments, the Company wrote off $3,546&#160;of original issue discount and capitalized debt issuance costs during the <em style="font: inherit;">second</em> quarter of <em style="font: inherit;">2022</em> as a loss on extinguishment of debt in the&#160;consolidated statements of comprehensive income. The Revolving Facility was unfunded at closing.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>


   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Tranche A Term Loan Facility and the Revolving Facility initially bear interest at a rate based on adjusted SOFR plus an applicable margin of 1.5% through <em style="font: inherit;"> December 31, 2022, </em>subject to a SOFR floor of 0.0%. Beginning on <em style="font: inherit;"> January 1, 2023, </em>the Tranche A Term Loan Facility and the Revolving Facility will bear interest at a rate based on adjusted SOFR plus an applicable margin between 1.25% and&#160;1.75%,&#160;based on the Company's total leverage ratio and subject to a SOFR floor of <em style="font: inherit;">0.0%.</em> The interest rate for the Tranche A Term Loan Facility as of <em style="font: inherit;"> December 31, 2022 </em>was 5.72%.&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The&#160;Tranche A Term Loan Facility and the Revolving Facility&#160;added certain financial covenants that require the Company to maintain a total leverage ratio below 3.75 to <em style="font: inherit;">1.00</em> as well as an interest coverage ratio above&#160;3.00 to <em style="font: inherit;">1.00.</em>&#160;As of <em style="font: inherit;"> December 31, 2022, </em>the Company&#8217;s total leverage&#160;ratio was 1.74&#160;to <em style="font: inherit;">1.00</em>&#160;times, and the Company's interest coverage ratio was <span style="color:#000000;">14.81&#160;</span>to <em style="font: inherit;">1.00.</em> The Company was in compliance with all other covenants of the Amended Credit Agreement as of <em style="font: inherit;"> December 31, 2022.&#160;</em></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Tranche B Term Loan Facility, Tranche A Term Loan Facility and Revolving Facility are guaranteed by substantially all of the Company&#8217;s wholly-owned domestic restricted subsidiaries&#160;and are&#160;secured by associated collateral agreements which pledge a <em style="font: inherit;">first</em> priority lien on virtually all of the Company&#8217;s assets, including fixed assets and intangibles, cash, trade accounts receivable, inventory, and other current assets and proceeds thereof.&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">In connection with the <em style="font: inherit;"> June 2022 </em>refinancing and in accordance with ASC <em style="font: inherit;">470</em>-<em style="font: inherit;">50,</em> the Company capitalized $10,330 of fees paid to creditors as deferred financing costs on long-term borrowings&#160;and expensed $800 of transaction fees. The Company evaluated on a lender-by-lender basis if the debt related to returning lenders on&#160;the Revolving Facility was significantly modified or <em style="font: inherit;">not,</em> resulting in the write-off of $197&#160;in unamortized deferred financing costs related to the former ABL Facility as a loss on extinguishment of debt in the&#160;consolidated statements of comprehensive income.&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">As of <em style="font: inherit;"> December 31, 2022, </em>there was $90,000&#160;outstanding&#160;under the Revolving&#160;Facility, leaving $1,158,725&#160;of availability, net of outstanding letters of credit.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -URI https://asc.fasb.org/topic&amp;trid=2208564<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766712624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 13 - Stock Repurchase Programs<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockTextBlock', window );">Treasury Stock [Text Block]</a></td>
<td class="text">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">13.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Stock Repurchase Programs</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#160;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">In <em style="font: inherit;"> September 2020, </em>the Company&#8217;s Board of Directors approved a&#160;stock repurchase program, which&#160;commenced on <em style="font: inherit;"> October 27, 2020, </em>and allowed&#160;for the&#160;repurchase of up to&#160;$250,000 of the Company's&#160;common stock over a 24-month&#160;period. That program was exhausted in the <em style="font: inherit;">third</em> quarter of <em style="font: inherit;">2022.</em> In&#160;<em style="font: inherit;"> July&#160;</em><em style="font: inherit;">2022,</em> the Company's Board of Directors approved another stock repurchase program, which commenced on <em style="font: inherit;"> August 5, 2022, </em>and allows for the repurchase of up to $500,000 of the Company's common stock over a 24-month period. Pursuant to the approved program, the Company <em style="font: inherit;"> may </em>repurchase its common stock from time to time, in amounts and at prices the Company deems appropriate, subject to market conditions and other considerations. The repurchases <em style="font: inherit;"> may </em>be executed using open market purchases, privately negotiated agreements or other transactions. The actual timing, number and value of shares repurchased under the program will be determined by management at its discretion and will depend on a number of factors, including the market price of the Company&#8217;s common stock,&#160;general market and economic conditions, applicable legal requirements, and compliance with the terms of the Company&#8217;s credit agreements. The repurchases <em style="font: inherit;"> may </em>be funded with cash on hand, available borrowings, or proceeds from potential debt or other capital markets sources. The stock repurchase program <em style="font: inherit;"> may </em>be suspended or discontinued at any time without prior notice. During the year ended <em style="font: inherit;"> December 31, 2022, </em>the&#160;Company repurchased 2,722,007&#160;shares of its common stock for $345,840. During the year ended <em style="font: inherit;"> December 31, 2021, </em>the&#160;Company repurchased 350,000&#160;shares of its common stock for $125,992. During the year ended <em style="font: inherit;"> December 31, 2020, </em>the Company did <span style="-sec-ix-hidden:c93264850">not</span> repurchase any shares of its common stock.&#160;Since the inception of all stock repurchase programs (starting in <em style="font: inherit;"> August 2015), </em>we&#160;have&#160;repurchased 11,748,713&#160;shares of our&#160;common stock for $777,379&#160;(at an average cost per share of $66.17).</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -URI https://asc.fasb.org/subtopic&amp;trid=2208821<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766683168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Earnings Per Share<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Earnings Per Share [Text Block]</a></td>
<td class="text">
   <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">14.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Earnings Per Share</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Basic earnings per share is calculated by dividing net income attributable to the common shareholders of the Company by the weighted average number of common shares outstanding during the period, exclusive of restricted shares. Except where the result would be anti-dilutive, diluted earnings per share is calculated by assuming the vesting of unvested restricted stock and the exercise of stock options, as well as the satisfaction of certain contingent acquisition consideration conditions as of the end of the period. Refer to Note <em style="font: inherit;">4,</em> &#8220;Redeemable Noncontrolling Interest,&#8221; to the consolidated financial statements for further information regarding the accounting for redeemable noncontrolling interests.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>


   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Numerator</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to Generac Holdings Inc.</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">399,502</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">550,494</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">350,576</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Redeemable noncontrolling interest redemption value adjustment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(49,235</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(17,102</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,247</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Net income attributable to common shareholders</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">350,267</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">533,392</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">349,329</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Denominator</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Weighted average shares, basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">63,117,007</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">62,686,001</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">62,280,889</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Dilutive effect of stock compensation awards (1)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,087,219</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,534,603</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,456,845</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Dilutive effect of contingently issued shares</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">477,131</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">32,804</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Diluted shares</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">64,681,357</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">64,253,408</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">63,737,734</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to common shareholders per share</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">5.55</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">8.51</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">5.61</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">5.42</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">8.30</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">5.48</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#160;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">1</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">For the year ended <em style="font: inherit;"> December 31, 2022, </em>excludes approximately 76,000&#160;stock options and restricted stock awards as the impact of such awards was anti-dilutive. There were no awards with an anti-dilutive impact for the years ended <em style="font: inherit;"> December 31, 2021 </em>and&#160;<em style="font: inherit;">2020.</em></p> </td></tr>
</tbody></table>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109243012&amp;loc=SL65017193-207537<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -URI https://asc.fasb.org/topic&amp;trid=2144383<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766718480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Tax Disclosure [Text Block]</a></td>
<td class="text">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b><em style="font: inherit;">15.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b>Income Taxes</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company&#8217;s provision for income taxes consists of the following:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Current:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Federal</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">118,320</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">105,236</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">62,714</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">State</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">25,743</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">21,295</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">13,071</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">51,055</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">10,536</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">1,974</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-left: 18pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">195,118</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">137,067</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">77,759</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Deferred:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Federal</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(43,475</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">10,518</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">20,452</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">State</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(10,966</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(3,728</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,243</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(40,109</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(7,863</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(1,197</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-left: 18pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(94,550</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,073</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">20,498</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Change in valuation allowance</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(972</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(1,037</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">716</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Provision for income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">99,596</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">134,957</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">98,973</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company files U.S. federal, U.S. state and foreign jurisdiction tax returns which are subject to examination up to the expiration of the statute of limitations. The Company&#160;believes the tax positions taken on its&#160;returns would be sustained upon an exam, or where a position is uncertain, adequate reserves have been recorded. As of <em style="font: inherit;"> December 31, 2022</em>, the Company is <em style="font: inherit;">no</em> longer subject to income tax examinations for United States federal income taxes for tax years prior to <em style="font: inherit;">2019.</em> Due to the carryforward of net operating losses and research &amp; development credits, the Company&#8217;s Wisconsin state income tax returns for tax years <em style="font: inherit;">2008</em>&#160;through <em style="font: inherit;">2021</em>&#160;remain open. In addition, the Company is subject to audit by various foreign taxing jurisdictions for&#160;tax years <em style="font: inherit;">2011</em>&#160;through <em style="font: inherit;">2022.</em></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company is regularly under tax return examination by tax authorities in the various jurisdictions&#160;in which we operate. The Company is&#160;actively managing the examinations and working to address any open matters. While the Company does <em style="font: inherit;">not</em> believe any material taxes or penalties are due, there is a possibility that the ultimate tax outcome of an examination <em style="font: inherit;"> may </em>result in differences from what was recorded. Such differences <em style="font: inherit;"> may </em>affect the provision for income taxes in the period in which the determination is made and could impact the Company&#8217;s financial results.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>


   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Significant components of deferred tax assets and liabilities are as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Deferred tax assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Accrued expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">46,994</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">37,797</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Deferred revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">34,914</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">27,003</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">20,229</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">14,907</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Stock-based compensation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">11,750</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">10,202</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Operating loss and credit carryforwards</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">56,279</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">68,368</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Bad debt</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,415</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,253</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">7,531</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">12,203</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Capitalized R&amp;D</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">33,738</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Valuation allowance</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(4,638</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(7,874</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 18pt;">Total deferred tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">208,212</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">163,859</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Deferred tax liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Goodwill and intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">260,745</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">328,162</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Depreciation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">44,385</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">21,340</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Debt refinancing costs</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">2,916</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Interest swap and derivative</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">12,370</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Prepaid expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">2,473</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">1,664</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 18pt;">Total deferred tax liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">321,157</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">354,082</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="padding: 0px 0px 1px; margin: 0px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net deferred tax liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><span style="-sec-ix-hidden:c93265016">(112,945)</span></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><span style="-sec-ix-hidden:c93265017">(190,223</span></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">As of <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em>, deferred tax assets of $12,746&#160;and $15,740, and deferred tax liabilities of $125,691&#160;and $205,964, respectively, were reflected on the consolidated balance sheets.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company maintains a valuation allowance against the deferred tax assets&#160;when it is uncertain it&#160;will generate sufficient taxable income to utilize the asset. During <em style="font: inherit;">2022</em>, the valuation allowance decreased&#160;by $3,236 primarily due to a reversal of valuation allowance in certain jurisdictions where we believe the deferred tax assets can now be utilized, partially offset by the&#160;establishment of valuation allowances in certain jurisdictions where we believe the deferred tax assets cannot be used.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">At <em style="font: inherit;"> December 31, 2022, </em>the Company had tax loss carryforwards of approximately $238,371,&#160;which have varying expiration periods ranging from <em style="font: inherit;">2023</em> to indefinite. For carryforward amounts where the Company believes the losses will expire prior to use, a valuation allowance has been established. For all other carryforwards the Company believes it will generate sufficient taxable income in these jurisdictions to utilize its loss carryforwards.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">At <em style="font: inherit;"> December 31, 2022</em>, the Company had&#160;state manufacturing tax credit carryforwards of approximately $29,946, which expire between <em style="font: inherit;">2028</em>&#160;and <em style="font: inherit;">2037.</em> The Company believes it will generate sufficient taxable income in these jurisdictions to fully utilize the credits prior to their expiration.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Changes in the Company&#8217;s gross liability for unrecognized tax benefits, excluding interest and penalties, were as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Unrecognized tax benefit, beginning of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8,647</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7,613</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Increase in unrecognized tax benefit for positions taken in prior period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">97</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">272</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Increase in unrecognized tax benefit for positions taken in current period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">975</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">990</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Statute of limitation expirations</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(824</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(228</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Settlements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Unrecognized tax benefit, end of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">8,895</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">8,647</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The unrecognized tax benefit as of&#160;<em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em>, if recognized, would favorably impact the effective tax rate.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">As of&#160;<em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em>, total accrued interest of approximately $161&#160;and $127, respectively,&#160;and&#160;accrued penalties of approximately $422&#160;and&#160;$357, respectively, associated with net unrecognized tax benefits are included in the consolidated balance sheets. Interest and penalties are recorded as a component of income tax expense.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company does <em style="font: inherit;">not</em> expect a significant increase or decrease to the total amounts of unrecognized tax benefits related to continuing operations during the following fiscal year ending <em style="font: inherit;"> December&#160;</em><em style="font: inherit;">31,</em> <em style="font: inherit;">2023.</em></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>


   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">A reconciliation of the statutory tax rates to&#160;the effective tax rates for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em> are as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">U.S. statutory rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">State taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">4.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">4.3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">4.3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">State tax rate differential</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(0.3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">0.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">0.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Research and development credits</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(1.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(1.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(1.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">State credits</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(1.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(1.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(1.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Share-based compensation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(2.7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(3.8</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(1.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Nondeductible U.S. compensation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1.6</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">0.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Foreign tax deduction</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(0.4</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(1.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">0.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Foreign deferred tax rate change</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">0.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1.2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">0.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(1.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(1.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">0.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Effective tax rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">19.6</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">19.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">22.2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">%</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32857-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI https://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766691344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 16 - Benefit Plans<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock', window );">Retirement Benefits [Text Block]</a></td>
<td class="text">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b><em style="font: inherit;">16.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b>Benefit Plans</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0pt; text-align: left;"><b>Medical and Dental Plans</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company maintains medical and dental benefit plans covering its full-time domestic employees and their dependents. These&#160;plans are partially or fully self-funded under which participant claims are obligations of the plan. These plans are funded through employer and employee contributions at a level sufficient to pay for the benefits provided by the plan. The Company&#8217;s contributions to the plans were $31,180, $24,189, and $24,617&#160;for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company&#8217;s foreign subsidiaries participate in government sponsored medical benefit plans and other local plans. In certain cases, the Company purchases supplemental medical coverage for certain employees at these foreign locations. The expenses related to these plans are <em style="font: inherit;">not</em> material to the Company&#8217;s consolidated financial statements.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Savings Plan</b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company maintains a defined-contribution <em style="font: inherit;">401</em>(k) savings plan for eligible domestic employees. Under the plan, employees <em style="font: inherit;"> may </em>defer receipt of a portion of their eligible compensation. The Company <em style="font: inherit;"> may </em>contribute a matching contribution of 50% of the <em style="font: inherit;">first</em> 6% of eligible compensation of employees that is deferred. The Company <em style="font: inherit;"> may </em>also contribute a non-elective contribution for eligible employees employed on <em style="font: inherit;"> December 31, 2008 </em>that were impacted by the freezing of the Company&#8217;s pension plans. The Company&#8217;s matching contributions are subject to vesting. Forfeitures <em style="font: inherit;"> may </em>be applied against plan expenses and Company contributions. The Company recognized $4,141, $6,725, and $5,332&#160;of expense related to these plans for the years ended <em style="font: inherit;"> December 31,&#160;</em><em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>


  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for retirement benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4179-114921<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section S99<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=21916913&amp;loc=d3e273930-122802<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (o)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (p)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 70<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=49170846&amp;loc=d3e28014-114942<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -URI https://asc.fasb.org/topic&amp;trid=2235017<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 60<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6414203&amp;loc=d3e39689-114964<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (q)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (l)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766876208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Share Plans<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Share-Based Payment Arrangement [Text Block]</a></td>
<td class="text">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b><em style="font: inherit;">17.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b>Share Plans</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company adopted an equity incentive plan (the <em style="font: inherit;">2010</em> Plan) on <em style="font: inherit;"> February 10, 2010 </em>in connection with its initial public offering. The <em style="font: inherit;">2010</em> Plan, as amended, allowed&#160;for granting of up to 9.1 million share-based awards to executives, directors and employees. Awards available for grant under the <em style="font: inherit;">2010</em> Plan included stock options, stock appreciation rights, restricted stock, other share-based awards and performance-based compensation awards. New grants&#160;under the <em style="font: inherit;">2010</em> Plan ceased in <em style="font: inherit;"> June 2019. </em>Total share-based compensation expense related to the <em style="font: inherit;">2010</em> Plan, net of estimated forfeitures, was $2,379, $6,249, and $11,681&#160;for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively, which is recorded in operating expenses in the consolidated statements of comprehensive income.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> June 13, 2019, </em>the stockholders of Generac Holdings Inc. approved the Company&#8217;s <em style="font: inherit;">2019</em> Equity Incentive Plan (the <em style="font: inherit;">2019</em> Plan).&#160;The <em style="font: inherit;">2019</em> Plan allows for granting of up to 2.7 million share-based awards to executives, directors and employees. Awards available for grant under the <em style="font: inherit;">2019</em>&#160;Plan include stock options, stock appreciation rights, restricted stock, other share-based awards and performance-based compensation awards. Total share-based compensation expense related to the <em style="font: inherit;">2019</em> Plan, net of estimated forfeitures, was $27,102, $17,705, and $9,201&#160;for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em>&#160;and <em style="font: inherit;">2020,</em> respectively,&#160;which is recorded in operating expenses in the consolidated statements of comprehensive income.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Stock Options</b> - Stock options granted in <em style="font: inherit;">2022</em> have an exercise price between&#160;$103.50&#160;per share and $315.88&#160;per share; stock options granted in <em style="font: inherit;">2021</em> have an exercise price between&#160;$323.66&#160;per share and $438.83&#160;per share; and stock options granted in <em style="font: inherit;">2020</em> have an exercise price between $91.00 per share and $158.89&#160;per share. Stock options vest in equal installments over <span style="-sec-ix-hidden:c93265126">four</span> years, subject to the grantee&#8217;s continued employment or service and expire <span style="-sec-ix-hidden:c93265127">ten</span> years after the date of grant.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Stock option exercises can be net-share settled such that the Company withholds shares with value equivalent to the exercise price of the stock option awards plus the employees&#8217; minimum statutory obligation for the applicable income and other employment taxes. Total shares withheld were 17,376, 8,608, and 24,070&#160;for the years ended <em style="font: inherit;"> December 31,&#160;</em><em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively, and were based on the value of the stock on the exercise dates. The net-share settlement has the effect of share repurchases by the Company as they reduce the number of shares that would have otherwise been issued.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Employees can also utilize a cashless for cash exercise of stock options, such that all exercised shares will be sold in the market immediately. Cash equivalent to the exercise price of the awards plus the employees&#8217; minimum statutory tax obligations is remitted to the Company, with the remaining cash being transferred to the employee. Total net proceeds from the cashless for cash exercise of stock options were $13,786, $38,787, and $13,089&#160;for the years ended <em style="font: inherit;"> December 31,&#160;</em><em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively, and are reflected as a financing activity in the consolidated statements of cash flows.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Total payments made by the Company to the taxing authorities for the employees&#8217; tax obligations related to stock option exercises were $14,089, $31,680, and $7,297&#160;for the years ended <em style="font: inherit;"> December 31,&#160;</em><em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively, and are reflected as a financing activity in the consolidated statements of cash flows.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The grant-date fair value of each option grant is estimated using the Black-Scholes-Merton option pricing model. The fair value is then amortized on a straight-line basis over the requisite service period of the awards, which is generally the vesting period. Use of a valuation model requires management to make certain assumptions with respect to selected model inputs. Expected volatility is calculated based on an analysis of historic volatility of the Company&#8217;s stock price. The average expected life is based on the contractual term of the option using the simplified method. The risk-free interest rate is based on U.S. Treasury <em style="font: inherit;">zero</em>-coupon issues with a remaining term equal to the expected life assumed at the date of grant. The compensation expense recognized is net of estimated forfeitures. Forfeitures are estimated based on actual share option forfeiture history and are trued up upon vesting based on actual forfeiture activity.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>


   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The weighted-average assumptions used in the Black-Scholes-Merton option pricing model for <em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em> are as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" rowspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>Year Ended December 31,</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Weighted average grant date fair value per share</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">129.38</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">129.47</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">35.79</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Assumptions:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Expected stock price volatility</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">38</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">37</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">32</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Risk free interest rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1.54</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.45</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1.56</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Expected annual dividend per share</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Expected life of options (years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">A summary of the Company&#8217;s stock option activity and related information for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em> is as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Number of Options</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Weighted-Average Exercise Price</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Weighted-Average Remaining Contractual Term (in years)</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Aggregate Intrinsic Value ($ in thousands)</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Outstanding as of December 31, 2019</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,592,686</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">42.04</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.9</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">93,242</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">173,650</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">102.32</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(216,196</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">39.88</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(21,450</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">50.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Outstanding as of December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,528,690</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">49.08</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">272,553</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">70,392</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">335.70</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(229,921</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">45.95</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(27,030</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">63.27</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Outstanding as of December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,342,131</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">64.29</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">386,069</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">109,266</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">282.20</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(137,305</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">36.91</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(45,688</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">194.05</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Outstanding as of December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;">1,268,404</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">81.35</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">4.9</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">47,764</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Exercisable as of December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">982,934</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">50.86</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">4.1</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">44,904</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">As of <em style="font: inherit;"> December 31, 2022</em>, there was $16,098&#160;of total unrecognized compensation cost, net of expected forfeitures, related to unvested options. The cost is expected to be recognized over the remaining service period, having a weighted-average period of 2.8&#160;years. Total share-based compensation cost related to&#160;stock options for the years ended <em style="font: inherit;"> December 31,&#160;</em><em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em> was $6,911, $6,462, and $5,860, respectively, which is recorded in operating expenses in the consolidated statements of comprehensive income.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b>Restricted Stock</b> &#8211; Restricted stock awards vest in equal installments over <span style="-sec-ix-hidden:c93265161">three</span> years, subject to the grantee&#8217;s continued employment or service. Certain restricted stock awards also include performance shares, whereby the number of performance shares that can be earned are contingent upon Company performance measures over a <span style="-sec-ix-hidden:c93265162">three</span>-year period. Performance measures are based on a weighting of a number of financial metrics, from which grantees <em style="font: inherit;"> may </em>earn from 0% to 200% of their target performance share award. The&#160;performance period for the <em style="font: inherit;">2020</em>&#160;awards covers the years <em style="font: inherit;">2020</em>&#160;through <em style="font: inherit;">2022,</em>&#160;the performance period for the <em style="font: inherit;">2021</em>&#160;awards covers the years <em style="font: inherit;">2021</em>&#160;through <em style="font: inherit;">2023,</em> and the performance period for the <em style="font: inherit;">2022</em>&#160;awards covers the years <em style="font: inherit;">2022</em>&#160;through <em style="font: inherit;">2024.</em>&#160;The Company estimates the number of performance shares that will vest based on projected financial performance. The fair value of restricted awards is determined based on the market value of the Company's shares on the grant date. The fair market value of the restricted awards at the time of the grant is amortized to expense over the period of vesting. The compensation expense recognized for restricted share awards is net of estimated forfeitures and is trued up upon vesting based on actual forfeiture activity.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Restricted stock vesting is net-share settled such that, upon vesting, the Company withholds shares with value equivalent to the employees&#8217; minimum statutory tax obligation, and then pays the cash to the taxing authorities on behalf of the employees. In effect, the Company repurchases these shares and classifies them as treasury stock. Total shares withheld were 92,008, 80,583, and 70,718&#160;for the years ended <em style="font: inherit;"> December 31,&#160;</em><em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively, and were based on the value of the stock on the vesting dates. Total payments made by the Company to the taxing authorities for the employees&#8217; tax obligations related to restricted stock vesting&#160;were $26,834, $27,223, and $7,613&#160;for the years ended <em style="font: inherit;"> December 31,&#160;</em><em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively, and are reflected as a financing activity within the consolidated statements of cash flows.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>


   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">A summary of the Company's restricted stock activity for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em> is as follows:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Shares</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Weighted-Average Grant-Date Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 64%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Non-vested as of December 31, 2019</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">491,637</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">52.84</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">183,868</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">95.14</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Vested</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(200,390</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">45.10</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(18,921</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">56.58</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Non-vested as of December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">456,194</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">68.42</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">126,339</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">223.09</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Vested</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(202,327</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58.99</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(14,241</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">138.64</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Non-vested as of December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">365,965</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">124.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">287,821</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">214.58</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Vested</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(234,284</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">83.52</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;">(41,204</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">263.47</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Non-vested as of December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">378,298</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">203.04</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">As of <em style="font: inherit;"> December 31, 2022</em>, there was $48,934&#160;of unrecognized compensation cost, net of expected forfeitures, related to non-vested restricted stock awards. That cost is expected to be recognized over the remaining service period, having a weighted-average period of 2.1&#160;years. Total share-based compensation cost related to the restricted stock for the years ended <em style="font: inherit;"> December 31,&#160;</em><em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, inclusive of performance shares, was $22,570, $17,492, and $15,022, respectively, which is recorded in operating expenses in the consolidated statements of comprehensive income.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">During <em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, 8,572, 4,677, and 15,275&#160;shares of stock, respectively,&#160;were granted to certain members of the Company&#8217;s Board of Directors as a component of their compensation for their service on the Board, all of which&#160;were fully vested at time of grant. A non-employee director&#160;can elect to receive his or her director fees in the form of deferred stock units, which voluntarily defers the issuance of the related shares granted until the director separates from the Company or a triggering event occurs. 5,008, 3,160, and 10,528&#160;of deferred stock units are included in the shares of stock granted to certain members of the Company&#8217;s Board of Directors for the years <em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em>, and <em style="font: inherit;">2020</em>, respectively. Total share-based compensation cost for these share grants in <em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em> was $1,886, $1,579, and $1,558, respectively, which is recorded in operating expenses in the consolidated statements of comprehensive income.</p>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI https://asc.fasb.org/topic&amp;trid=2228938<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766614672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 18 - Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies Disclosure [Text Block]</a></td>
<td class="text">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width: 22px; vertical-align: top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b><a href="#" id="commncon" title="commncon"/><em style="font: inherit;">18.</em></b></p> </td><td style="vertical-align: top; width: 1953px;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b>Commitments and Contingencies</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company has an arrangement with a finance company to provide floor plan financing for certain dealers. The Company receives payment from the finance company after shipment of product to the dealer. The Company participates in the cost of dealer financing up to certain limits and has agreed to repurchase products repossessed by the finance company, but does <em style="font: inherit;">not</em> indemnify the finance company for any credit losses they incur. The amount financed by dealers which remained outstanding under this arrangement at <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em> was approximately $212,200&#160;and $115,900, respectively.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> August 1, 2022, </em>Power Home Solar, LLC d/b/a Pink Energy filed a lawsuit in the Western District of Virginia against Generac Power Systems, Inc., a wholly-owned subsidiary of the Company&#160;(&#8220;Generac Power&#8221;).&#160;The complaint alleges breaches of warranty, product liability, and other various causes of action against Generac Power relating to the sale and performance of certain clean energy equipment and seeks to recover damages, including consequential damages, that Power Home Solar allegedly incurred.&#160;The Company&#160;disputes the allegations in the complaint, including that Power Home Solar can seek consequential damages or amounts greater than the $25,000&#160;liability cap set forth in the agreement between the parties. On <em style="font: inherit;"> September 23, 2022, </em>Generac Power moved to dismiss the complaint and compel arbitration consistent with the parties&#8217; agreement.&#160;On <em style="font: inherit;"> October 7, 2022, </em>Power Home Solar, LLC filed a Chapter <em style="font: inherit;">7</em> bankruptcy petition in the Western District of North Carolina that identified Generac Power&#160;as <em style="font: inherit;">one</em> of its&#160;outstanding creditors.&#160; The petition listed a $17,700 liability to Generac Power, which Power Home Solar characterized as disputed.&#160;The $17,700&#160;claim relates to equipment that Generac Power sold to Power Home Solar but was <em style="font: inherit;">not</em> paid for.&#160;The parties agreed to toll Power Home Solar&#8217;s deadline to respond to the motion to dismiss after Power Home Solar filed the&#160;petition for bankruptcy to allow the bankruptcy trustee to evaluate the complaint.&#160;The Company&#160;intends to vigorously defend against the claims in the complaint, whichever forum in which it <em style="font: inherit;"> may </em>proceed.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> October 28, 2022, </em>Daniel Haak filed a putative class action lawsuit against Generac Power in the Middle District of Florida.&#160;The complaint alleges breaches of warranty, tort-based, and unjust enrichment claims against Generac Power relating to the sale and performance of certain clean energy products, and seeks to recover damages, including consequential damages, that the plaintiff and putative class allegedly incurred.&#160;The Company disputes the allegations and intends to vigorously defend against the claims in the complaint, including that plaintiff and the putative class can seek consequential damages. Genera Power filed a motion to dismiss&#160;the complaint on <em style="font: inherit;"> December 28, 2022.&#160;</em></p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Four additional putative class actions were filed by consumers of Generac clean energy products between <em style="font: inherit;"> November 21, 2022 </em>and <em style="font: inherit;"> February 2, 2023. </em>These complaints assert claims for breaches of warranty, tort-based, statutory, and unjust enrichment claims against Generac Power or the Company and seek to recover damages, including consequential damages, that plaintiffs and putative class allegedly incurred. The cases are pending in the Eastern District of Wisconsin (<i>Basler, et al. v. Generac Power Systems, Inc.</i>, Case <em style="font: inherit;">No.</em> <em style="font: inherit;">22</em>-cv-<em style="font: inherit;">01386</em>-NJ and <i>Dillon v. Generac Power Systems, Inc.</i>, Case <em style="font: inherit;">No.</em> <em style="font: inherit;">23</em>-cv-<em style="font: inherit;">00034</em>-NJ), the Northern District of California (<i>Moon v. Generac Power Systems, Inc. et al.</i>, Case <em style="font: inherit;">No.</em> <em style="font: inherit;">22</em>-cv-<em style="font: inherit;">09183</em>-CRB), and the Eastern District of California (<i>Locatell v. Generac Power Systems, Inc., et al.</i>, Case <em style="font: inherit;">No.</em> <em style="font: inherit;">23</em>-cv-<em style="font: inherit;">00203</em>-TLN). The Company disputes the allegations and intends to vigorously defend against the claims in the complaints. Generac Power&#8217;s motion to dismiss the <i>Basler </i>complaint is pending with the court.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> December 1, 2022, </em>Oakland County Voluntary Employees&#8217; Beneficiary Association and Oakland County Employees&#8217; Retirement System filed a putative securities class action lawsuit against the Company and certain of its officers in the Eastern District of Wisconsin. On <em style="font: inherit;"> January 20, 2023, </em>the California Ironworkers Field Pension Trust filed a related putative securities class action, also in the United States District Court for the Eastern District of Wisconsin. Both complaints assert claims for alleged violation of federal securities law related to disclosures of quality issues in Generac&#8217;s clean energy product, reliance on channel partners, and accounting for warranty reserves. The plaintiffs seek to represent a class of individuals who purchased or otherwise acquired common stock between <em style="font: inherit;"> April 29, 2021 </em>and <em style="font: inherit;"> November 1, 2022 </em>and ask for unspecified compensatory damages and other relief on behalf of a purported class of purchasers. Motions to consolidate the putative class actions and to appoint lead plaintiff have been filed and are pending with the court. In addition, in relation to the aforementioned cases, on <em style="font: inherit;"> February 3, 2023, </em>a purported Company shareholder filed a shareholder derivative action&#160;against certain of the Company&#8217;s officers and directors in the United States District Court for the Eastern District of Wisconsin.&#160;The complaint seeks unspecified damages on behalf of the Company and certain other relief, such as certain reforms to corporate governance practices.&#160;The complaint (in which the Company is named as a nominal defendant) generally alleges, among other things, breaches of fiduciary duties in connection with the oversight of the Company&#8217;s public statements and legal compliance, and that the Company was damaged as a result of the breaches of fiduciary duties, and the defendants were unjustly enriched.&#160;The complaint also alleges, among other things, violations of Sections <em style="font: inherit;">14</em>(a), <em style="font: inherit;">10</em>(b) and <em style="font: inherit;">20</em>(a) of the Securities Exchange Act of <em style="font: inherit;">1934,</em> abuse of control, gross mismanagement, and waste of corporate assets.&#160;The Company disputes the allegations and intends to vigorously defend against the claims in the complaint.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> October 28, 2022, </em>Generac Power received a grand jury subpoena from the U.S. Attorney for the Eastern District of Michigan, as a result of which the Company became aware of an enforcement investigation by the U.S. Department of Justice (&#8220;DOJ&#8221;).&#160;The subpoena requests similar documents and information provided by the Company to the U.S. EPA and the CARB in response to civil document requests related to the Company&#8217;s compliance with emissions regulations for approximately <em style="font: inherit;">1,850</em> portable generators produced by the Company in <em style="font: inherit;">2019</em> and <em style="font: inherit;">2020</em> and sold in <em style="font: inherit;">2020.</em> The Company is cooperating with both the DOJ and the EPA and CARB inquiries.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> November 30, 2022, </em>the CPSC&#160;notified the Company of its intention to recommend the imposition of a penalty for failing to timely submit a report under section <em style="font: inherit;">19</em>(a)(<em style="font: inherit;">4</em>) of the CPSA, <em style="font: inherit;">15</em> U.S.C. &#167; <em style="font: inherit;">2068</em>(a)(<em style="font: inherit;">4</em>), in relation to certain portable generators that were subject to a voluntary recall previously announced on <em style="font: inherit;"> July 29, 2021.&#160;</em>Although the Company is cooperating with the CPSC on this matter, the matter is unresolved and still pending ongoing discussion with the CPSC.</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">In the opinion of management, it is presently unlikely that any legal or regulatory proceedings pending against or involving the Company will have a material adverse effect on the Company&#8217;s financial condition, results of operations or cash flows. However, in many of these matters, it is inherently difficult to determine whether a loss is probable&#160;or to estimate the size or range of the possible loss given the variety and potential outcomes of actual and potential claims, the uncertainty of future rulings, the behavior or incentives of adverse parties, and other factors outside the control of the Company. Accordingly, the Company&#8217;s loss reserves <em style="font: inherit;"> may </em>change from time to time, and actual losses could exceed the amounts reserved by an amount that could be material to the Company&#8217;s consolidated financial position, results of operations or cash flows in any particular reporting period.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>

  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI https://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 440<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6491277&amp;loc=d3e6429-115629<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI https://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766720912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 19 - Quarterly Financial Information (Unaudited)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_QuarterlyFinancialInformationTextBlock', window );">Quarterly Financial Information [Text Block]</a></td>
<td class="text">
   <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b><em style="font: inherit;">19.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b>Quarterly Financial Information (Unaudited)</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Quarters Ended 2022</em></em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Q1</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Q2</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Q3</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Q4</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,135,856</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,291,391</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,088,258</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,049,232</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross profit</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">360,748</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">456,985</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">361,104</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">343,167</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">154,735</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">216,844</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">87,523</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">107,228</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income attributable to Generac Holdings Inc.</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">113,858</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">156,359</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">58,270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">71,015</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income attributable to common shareholders per common share - basic:</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1.61</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2.24</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.84</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.84</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income attributable to common shareholders per common share - diluted:</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1.57</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2.21</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.83</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.83</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="margin: 0; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Quarters Ended 2021</em></em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Q1</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Q2</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Q3</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Q4</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">807,434</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">919,981</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">942,698</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,067,071</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Gross profit</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">321,814</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">339,735</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">335,994</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">362,539</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Operating income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">189,124</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">182,952</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">173,579</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">175,481</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to Generac Holdings Inc.</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">148,993</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">127,036</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">131,570</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">142,895</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to common shareholders per common share - basic:</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.39</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.06</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1.98</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.09</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to common shareholders per common share - diluted:</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.33</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.01</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1.93</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.04</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_QuarterlyFinancialInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -URI https://asc.fasb.org/topic&amp;trid=2126967<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -URI https://asc.fasb.org/extlink&amp;oid=126900988&amp;loc=SL124452896-108306<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_QuarterlyFinancialInformationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766614672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 20 - Valuation and Qualifying Accounts<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock', window );">SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]</a></td>
<td class="text">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b><em style="font: inherit;">20.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"><b>Valuation and Qualifying Accounts</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">For the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>:</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Balance at Beginning of Year</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Additions Charged to Earnings</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Additions Charged to Retained Earnings (1)</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Charges to Reserve, Net (2)</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Reserves Established for Acquisitions</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Balance at End of Year</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Year ended December 31, 2022</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Allowance for credit losses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">12,025</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">17,966</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(2,825</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">498</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">27,664</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Reserves for inventory</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">33,537</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">9,656</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(4,737</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,258</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">39,714</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Valuation of deferred tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">7,874</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">649</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(1,501</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(2,384</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">4,638</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Year ended December 31, 2021</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;">Allowance for credit losses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,001</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">206</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,640</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,458</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,025</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;">Reserves for inventory</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">27,817</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">17,698</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(15,749</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,771</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">33,537</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;">Valuation of deferred tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,740</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,404</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2,441</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,171</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7,874</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Year ended December 31, 2020</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;">Allowance for credit losses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6,968</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,645</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,147</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(957</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">198</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,001</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;">Reserves for inventory</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">24,293</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,353</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(8,788</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">959</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">27,817</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;">Valuation of deferred tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,024</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">716</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,740</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;">&#160;</td><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">(<em style="font: inherit;">1</em>)</p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;">Result of adopting ASU <em style="font: inherit;">2016</em>-<em style="font: inherit;">13,</em>&#160;<i>Financial Instruments &#8211; Credit Losses (Topic&#160;<em style="font: inherit;">326</em>)</i>:&#160;<i>Measurement of Credit Losses on Financial Instruments.</i></p> </td></tr>
<tr><td style="width:18pt;">&#160;</td><td style="width:18pt;vertical-align:top;">(<em style="font: inherit;">2</em>)</td><td style="vertical-align:top;">Deductions from the allowance for doubtful accounts equal accounts receivable written off against the allowance, less recoveries, as well as foreign currency translation adjustments. Deductions from the reserves for inventory excess and obsolete items equal inventory written off against the reserve as items were disposed of, as well as foreign currency translation adjustments.&#160;</td></tr>
</tbody></table>
  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-X (SX)<br> -Number 210<br> -Section 12<br> -Subsection 09<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766766656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 21 - Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Subsequent Events [Text Block]</a></td>
<td class="text">
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b><em style="font: inherit;">21.</em></b></p> </td><td style="vertical-align:top;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"><b>Subsequent Events</b></p> </td></tr>
</tbody></table>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">On <em style="font: inherit;"> February 1, 2023&#160;</em>the Company acquired REFU Storage Systems (REFUstor), headquartered in Pfullingen, Germany<span style="color:#000000;">.&#160;</span>REFUstor is a developer and supplier of battery storage hardware products, advanced software, and platform services for the commercial and industrial market.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

  <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -URI https://asc.fasb.org/topic&amp;trid=2122774<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6842918&amp;loc=SL6314017-165662<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364765860400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Consolidation, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Principles of Consolidation</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The consolidated financial statements include the accounts of the Company and its subsidiaries that are consolidated in conformity with U.S. GAAP. All intercompany amounts and transactions have been eliminated in consolidation.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and Cash Equivalents, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Cash </b><b>and Cash </b><b>Equivalents</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company considers all highly liquid investments purchased with an original maturity of <em style="font: inherit;">three</em> months or less to be cash equivalents.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Concentration Risk, Credit Risk, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Concentration of Credit Risk</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company maintains the majority of its domestic cash in a few&#160;commercial banks in multiple operating and investment accounts. Balances on deposit are insured by the Federal Deposit Insurance Corporation (FDIC) up to specified limits. Balances in excess of FDIC limits are uninsured.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>


   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">One customer accounted for approximately 11% and 8% of accounts receivable at <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em>, respectively. <span style="-sec-ix-hidden:c93263446"><span style="-sec-ix-hidden:c93263449"><span style="-sec-ix-hidden:c93263452">No</span></span></span> <em style="font: inherit;">one</em> customer accounted for greater than 4%, 6%, and 6%, of net sales during the years ended <em style="font: inherit;"> December 31, 2022</em>, <em style="font: inherit;">2021</em>, and&#160;<em style="font: inherit;">2020</em>, respectively.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesPolicyTextBlock', window );">Receivable [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Accounts Receivable and Allowance for Credit Losses</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company's trade and other receivables primarily arise from the sale of its&#160;products and services to independent residential dealers, industrial distributors&#160;and dealers, national and regional retailers, electrical/HVAC/solar wholesalers, e-commerce partners, equipment rental companies, equipment distributors, solar installers, utilities, EPC companies, and certain end users with payment terms generally ranging from <em style="font: inherit;">30</em> to <em style="font: inherit;">90</em> days. The Company evaluates the credit risk of a customer when extending credit based on a combination of various financial and qualitative factors that <em style="font: inherit;"> may </em>affect the customers' ability to pay. These factors include the customer's financial condition, past payment experience, credit bureau information, and regional considerations.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Receivables are recorded at their face value amount less an allowance for credit losses. The Company maintains an allowance for credit losses, which represents an estimate of expected losses over the remaining contractual life of its receivables considering current market conditions and estimates for supportable forecasts when appropriate. The Company measures expected credit losses on its trade receivables on an entity-by-entity basis. The estimate of expected credit losses considers a historical loss experience rate that is adjusted for delinquency trends, collection experience, and/or economic risk where appropriate based on current market conditions. Additionally, management develops a specific allowance for trade receivables known to have a high risk of expected future credit loss.&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company has historically experienced immaterial write-offs given the nature of the customers that receive credit. In addition, the Company holds various&#160;credit insurance plans that cover&#160;the risk of loss up to specified amounts on certain trade receivables. As of <em style="font: inherit;"> December 31, 2022, </em>the Company had gross receivables of $550,122&#160;and an allowance for credit losses of $27,664.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The following is a tabular reconciliation of the Company's allowance for credit losses:&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">Year Ended December 31, 2022</em></b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 83%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at beginning of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,025</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Established for acquisitions</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">498</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Provision for credit losses (1)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">17,966</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Charge-offs</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(2,554</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Currency translation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(271</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Balance at end of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,664</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"><tbody><tr><td style="width:18pt;vertical-align:top;">(<em style="font: inherit;">1</em>)</td><td style="vertical-align:top;">Includes a specific credit loss provision of $17,926 recorded during the <em style="font: inherit;">third</em> quarter of <em style="font: inherit;">2022</em> for a clean energy product customer that filed for bankruptcy.</td></tr>
</tbody></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventory, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Inventories</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Inventories are stated at the lower of cost or market, with cost determined&#160;using the <em style="font: inherit;">first</em>-in, <em style="font: inherit;">first</em>-out method.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, Plant and Equipment, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Property and Equipment </b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Property and equipment are recorded at cost and are being depreciated using the straight-line method over the estimated useful lives of the assets, which are summarized below (in years). Costs of leasehold improvements are amortized over the lesser of the term of the lease (including renewal option periods) or the estimated useful lives of the improvements. Finance lease right of use assets are included in property and equipment. Refer to Note <em style="font: inherit;">10,</em> &#8220;Leases,&#8221; to the consolidated financial statements for the Company's lease disclosure.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Land improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">8</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">20</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Buildings and improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">10</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">40</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Machinery and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">3</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Dies and tools</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">3</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Vehicles</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">3</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Office equipment and systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">3</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Leasehold improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">2</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">20</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Total depreciation expense was $52,821, $42,155, and $36,493&#160;for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy', window );">Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Goodwill and Other Indefinite-Lived Intangible Assets</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Goodwill represents the excess of the purchase price over fair value of identifiable net assets acquired from business acquisitions. Goodwill is <em style="font: inherit;">not</em> amortized, but is reviewed for impairment on an annual basis and between annual tests if indicators of impairment are present. The Company evaluates goodwill for impairment annually as of <em style="font: inherit;"> October 31 </em>or more frequently when an event occurs or circumstances change that indicates the carrying value <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be recoverable. The Company has the option to assess goodwill for impairment by performing either a qualitative assessment or quantitative test. The qualitative assessment determines whether it is more likely than <em style="font: inherit;">not</em> that the fair value of a reporting unit is less than its carrying amount. If the Company determines that it is <em style="font: inherit;">not</em> more likely than <em style="font: inherit;">not</em> that the fair value of a reporting unit is less than its carrying amount, then the quantitative test is <em style="font: inherit;">not</em> required to be performed. If the Company determines that it is more likely than <em style="font: inherit;">not</em> that the fair value of a reporting unit is less than its carrying amount, the Company is required to perform the quantitative test. In the quantitative test, the calculated fair value of the reporting unit is compared to its book value including goodwill. If the fair value of the reporting unit is in excess of its book value, the related goodwill is <em style="font: inherit;">not</em> impaired. If the fair value of the reporting unit is less than its book value, an impairment loss is recognized in an amount equal to that excess, limited to the total amount of goodwill allocated to that reporting unit.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">Other indefinite-lived intangible assets consist of certain tradenames. The Company tests the carrying value of these tradenames annually as of <em style="font: inherit;"> October 31, </em>or more frequently when an event occurs or circumstances change that indicates the carrying value <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be recoverable, by comparing the assets&#8217; fair value to its carrying value. Fair value is measured using a relief-from-royalty approach, which assumes the fair value of the tradename is the discounted cash flows of the amount that would be paid had the Company <em style="font: inherit;">not</em> owned the tradename and instead licensed the tradename from another company.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">The Company performed the required annual impairment tests for goodwill and other indefinite-lived intangible assets for the fiscal years <em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, and found <span style="-sec-ix-hidden:c93263514"><span style="-sec-ix-hidden:c93263515"><span style="-sec-ix-hidden:c93263516">no</span></span></span> impairment.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Impairment of Long-Lived Assets</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company periodically evaluates the carrying value of long-lived assets (excluding goodwill and indefinite-lived tradenames). Long-lived assets are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be recoverable. If the sum of the expected future undiscounted cash flows is less than the carrying amount of an asset, a loss is recognized for the difference between the fair value and carrying value of the asset.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtPolicyTextBlock', window );">Debt, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Debt Issuance Costs</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Debt discounts and direct costs incurred in connection with the issuance or amendment of long-term debt are deferred and recorded as a reduction of outstanding debt and amortized to interest expense using the effective interest method over the terms of the related credit agreements. $3,234, $2,589, and $2,598,&#160;of deferred financing costs and original issue discount were amortized to interest expense during fiscal years <em style="font: inherit;">2022</em>, <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively. Excluding the impact of any future long-term debt issuances or prepayments, estimated amortization to interest expense for the next <em style="font: inherit;">five</em> years is as follows: <em style="font: inherit;">2023</em>&#160;- <span style="-sec-ix-hidden:c93263527">$3,885;</span> <em style="font: inherit;">2024</em>&#160;- <span style="-sec-ix-hidden:c93263529">$3,923;</span> <em style="font: inherit;">2025</em>&#160;- <span style="-sec-ix-hidden:c93263531">$3,919;</span> <em style="font: inherit;">2026</em>&#160;- <span style="-sec-ix-hidden:c93263533">$3,819;</span> <em style="font: inherit;">2027</em>&#160;- <span style="-sec-ix-hidden:c93263535">$1,028.</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Tax, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Income Taxes</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company is a C Corporation and therefore accounts for income taxes pursuant to the liability method. Accordingly, the current or deferred tax consequences of a transaction are measured by applying the provision of enacted tax laws to determine the amount of taxes payable currently or in future years. Deferred income taxes are provided for temporary differences between the income tax bases of assets and liabilities and their carrying amounts for financial reporting purposes. In assessing the realizability of deferred tax assets, the Company considers whether it is more likely than <em style="font: inherit;">not</em> that some portion or all of the deferred tax assets will <em style="font: inherit;">not</em> be realized. The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the years in which those temporary differences become deductible. The Company considers taxable income in prior carryback years, the scheduled reversal of deferred tax liabilities, projected future taxable income and tax planning strategies, as appropriate, in making this assessment.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue from Contract with Customer [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Revenue Recognition</b></p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><br/> The Company&#8217;s revenues primarily consist of product sales to its customers. The Company considers the purchase orders, which in some cases are governed by master sales agreements, to be the contracts with the customers. For each contract, the Company considers the commitment to transfer products, each of which is distinct, to be the identified performance obligations. Revenue is measured as the amount of consideration the Company expects to be entitled in exchange for the transfer of product, which is generally the price stated in the contract specific for each item sold, adjusted for the value of expected returns, discounts, rebates, or other promotional incentives or allowances offered to our customers. Expected returns for damaged or defective product are estimated using the expected value method based on historical product return experience. Discounts and rebates offered to customers are typically defined in the master sales agreements with customers and, therefore, are recorded using the most likely amount method based on the terms of the contract. Promotional incentives are defined programs offered for short, specific periods of time and are estimated using the expected value method based on historical experience. The Company does <em style="font: inherit;">not</em> expect the transaction price for revenue recognized will be subject to a significant revenue reversal. As the Company&#8217;s product sale contracts and standard payment terms have a duration of less than <em style="font: inherit;">one</em> year, it uses the practical expedient applicable to such contracts and does <em style="font: inherit;">not</em> consider the time value of money. Sales, use, value add, and other similar taxes assessed by governmental authorities and collected concurrent with revenue-producing activities are excluded from revenue. The Company has elected to recognize the cost for freight activities when control of the product has transferred to the customer as an expense within cost of goods sold in the consolidated statements of comprehensive income. Product revenues are recognized at the point in time when control of the product is transferred to the customer, which typically occurs upon shipment or delivery to the customer. To determine when control has transferred, the Company considers if there is a present right to payment and if legal title, physical possession, and the significant risks and rewards of ownership of the asset has transferred to the customer. As a substantial portion&#160;of the Company&#8217;s product revenues are recognized at a point in time, the amount of unsatisfied performance obligations at each period end is <em style="font: inherit;">not</em> material. The Company&#8217;s contracts have an original expected duration of <em style="font: inherit;">one</em> year or less. As a result, the Company has elected to use the practical expedient to <em style="font: inherit;">not</em> disclose its remaining performance obligations.</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">At the request of certain customers, the Company will warehouse inventory billed to the customer but <em style="font: inherit;">not</em> delivered. Unless all revenue recognition criteria have been met, the Company does <em style="font: inherit;">not</em> recognize revenue on these transactions until the customer takes possession of the product.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">While the Company&#8217;s standard payment terms are less than <em style="font: inherit;">one</em> year, the specific payment terms and conditions in its customer contracts vary. In some cases, customers prepay for their goods; in other cases, after appropriate credit evaluation, an open credit line is granted and payment is due in arrears. Contracts with payment in arrears are recognized in the consolidated balance sheets as accounts receivable upon revenue recognition, while contracts where customers pay in advance are recognized as customer deposits and recorded in other accrued liabilities in the consolidated balance sheets until revenue is recognized. The balance of customer deposits (contract liabilities) was $33,551&#160;and $27,388&#160;at <em style="font: inherit;"> December 31, 2022</em> and <em style="font: inherit;"> December 31, 2021</em>, respectively. During the year ended <em style="font: inherit;"> December 31, 2022</em>, the Company recognized revenue of $27,388&#160;related to amounts included in the <em style="font: inherit;"> December 31, 2021</em> customer deposit balance. The Company typically recognizes revenue within <em style="font: inherit;">one</em> year of the receipt of the customer deposit.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>


   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company offers standard warranty coverage on substantially all products that it sells and accounts for this standard warranty coverage as an assurance warranty. As such, <em style="font: inherit;">no</em> transaction price is allocated to the standard warranty, and the Company records a liability for product warranty obligations at the time of sale to a customer based on historical warranty experience. Refer to Note <em style="font: inherit;">11,</em> &#8220;Product Warranty Obligations,&#8221; to the consolidated financial statements for further information regarding the Company&#8217;s standard warranties.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company also sells extended warranty coverage for certain products, which it accounts for as service warranties. In most cases, the extended warranty is sold as a separate contract. As such, extended warranty sales are considered a separate performance obligation, and the extended warranty transaction is separate and distinct from the product. The extended warranty transaction price is initially recorded as deferred revenue in the consolidated balance sheets and amortized on a straight-line basis to net sales in the consolidated statements of comprehensive income over the life of the contracts following the standard warranty period. For extended warranty contracts that the Company sells under a <em style="font: inherit;">third</em>-party marketing agreement, it is required to pay fees to the <em style="font: inherit;">third</em>-party service provider and classifies these fees as costs to obtain a contract. The contract costs are deferred and recorded as other assets in the consolidated balance sheets. The deferred contract costs are amortized to net sales in the consolidated statements of comprehensive income consistent with how the related deferred revenue is recognized. Refer to Note <em style="font: inherit;">11,</em> &#8220;Product Warranty Obligations,&#8221; to the consolidated financial statements for further information regarding the Company&#8217;s extended warranties.&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">In addition to extended warranties, the Company offers other services, including remote monitoring, installation, maintenance, data center and telecom design and build, and&#160;grid services to utilities in certain&#160;circumstances. Total service revenues accounted for less than <em style="font: inherit;">3%</em>&#160;of revenue during the year ended <em style="font: inherit;"> December 31, 2022</em>.&#160;&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Refer to Note <em style="font: inherit;">7,</em> &#8220;Segment Reporting,&#8221; to the consolidated financial statements for the Company&#8217;s disaggregated revenue disclosure. The information discussed above is applicable to each of the Company&#8217;s product classes.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvertisingCostsPolicyTextBlock', window );">Advertising Cost [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>Advertising and Co-Op Advertising</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Expenditures for advertising, included in selling and service expenses in the consolidated statements of comprehensive income, are expensed as incurred. Expenditures for advertising production costs are expensed when the related advertisement is <em style="font: inherit;">first</em> run. Expenditures for Co-Op advertising are expensed when claimed by the customer. Total expenditures for advertising were $100,589, $66,660, and $53,678&#160;for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpensePolicy', window );">Research and Development Expense, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Research and Development</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company expenses research and development costs as incurred. Total expenditures incurred for research and development were $159,774, $104,303, and $80,251&#160;for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign Currency Transactions and Translations Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Foreign Currency Translation and Transactions</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>&#160;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Balance sheet amounts for non-U.S. Dollar functional currency subsidiaries&#160;are translated into U.S. Dollars at the rates of exchange in effect at the end of the fiscal year. Income and expenses incurred in a foreign currency are translated at the average rates of exchange in effect during the year. The related balance sheet translation adjustments are made directly to accumulated other comprehensive loss, a component of stockholders&#8217; equity, in the consolidated balance sheets. Gains and losses from foreign currency transactions are recognized as incurred in the consolidated statements of comprehensive income.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueOfFinancialInstrumentsPolicy', window );">Fair Value of Financial Instruments, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Fair Value of Financial Instruments</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">ASC <em style="font: inherit;">820</em>-<em style="font: inherit;">10,</em> <i>Fair Value Measurement</i><i>,</i> defines fair value, establishes a consistent framework for measuring fair value, and expands disclosure for each major asset and liability category measured at fair value on either a recurring basis or nonrecurring basis. ASC <em style="font: inherit;">820</em>-<em style="font: inherit;">10</em> clarifies that fair value is an exit price, representing the amount that would be received in the sale of an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. As a basis for considering such assumptions, the pronouncement establishes a <em style="font: inherit;">three</em>-tier fair value hierarchy, which prioritizes the inputs used in measuring fair value as follows: (Level <em style="font: inherit;">1</em>) observable inputs such as quoted prices in active markets; (Level <em style="font: inherit;">2</em>) inputs, other than the quoted prices in active markets, that are observable either directly or indirectly; and (Level <em style="font: inherit;">3</em>) unobservable inputs in which there is little or <em style="font: inherit;">no</em> market data, which require the reporting entity to develop its own assumptions.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company believes the carrying amount of its financial instruments (cash and cash equivalents, accounts receivable, accounts payable, accrued liabilities, short-term borrowings, and revolving facility borrowings), excluding Term Loan borrowings, approximates the fair value of these instruments based on their short-term nature. The fair value of the Term Loan B borrowing, which has&#160;a&#160;net carrying value of $523,305, was approximately $516,750 (Level <em style="font: inherit;">2</em>)&#160;at <em style="font: inherit;"> December 31, 2022</em>, as calculated based on independent valuations whose inputs and significant value drivers are observable. The fair value of Term Loan A approximates the carrying&#160;value.&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>


   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">For the fair value of the assets and liabilities measured on a recurring basis, refer to the fair value table in Note <em style="font: inherit;">5,</em> &#8220;Derivative Instruments and Hedging Activities,&#8221; to the consolidated financial statements. The fair value of all derivative contracts is classified as Level <em style="font: inherit;">2.</em> The valuation techniques used to measure the fair value of derivative contracts, all of which have counterparties with high credit ratings, were based on quoted market prices or model driven valuations using significant inputs derived from or corroborated by observable market data. The fair value of derivative contracts considers the Company&#8217;s credit risk in accordance with ASC <em style="font: inherit;">820</em>-<em style="font: inherit;">10.</em></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock', window );">Fair value of Contingent Consideration in a Business Combination [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Contingent Consideration</i></b></p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Certain of the Company's business combinations involve potential payment of future consideration that is contingent upon the achievement of certain milestones. As part of purchase accounting, a&#160;liability is recorded for the estimated fair value of the contingent consideration on the acquisition date. The fair value of the contingent consideration is remeasured at each reporting period, and the change in fair value is recognized within general and administrative expenses in the Company's&#160;consolidated statements of comprehensive income. The&#160;fair value measurement of contingent consideration is typically categorized as a Level <em style="font: inherit;">3</em> liability, as the measurement amount is based primarily on significant inputs that are <em style="font: inherit;">not</em> observable in the market. The fair value measurement of ecobee's contingent consideration is categorized as a Level <em style="font: inherit;">1</em> liability, as a definitive payout agreement has been reached.&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The fair value of contingent consideration as of <em style="font: inherit;"> December 31, 2022&#160;</em>and <em style="font: inherit;"> December 31, 2021&#160;</em>was $81,533&#160;and $146,759, respectively. At <em style="font: inherit;"> December 31, 2022, </em>the Company&#160;recorded<span style="color:#000000;"> $49,500&#160;in other accrued liabilities and $32,033&#160;in oth</span>er long-term liabilities in the consolidated balance sheets. At <em style="font: inherit;"> December 31, 2021, </em>the Company&#160;recorded $68,665&#160;in other accrued liabilities and $78,094&#160;in other long-term liabilities in the consolidated balance sheets.&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The following table provides a reconciliation of the activity for contingent consideration:&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Beginning balance, January 1, 2022</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">146,759</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Changes in fair value</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(231</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Payment of contingent consideration (1)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(63,800</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Present value interest accretion</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">1,974</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Currency translation</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(3,169</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Ending balance, December 31, 2022</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">81,533</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
   <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">(<em style="font: inherit;">1</em>)&#160; &#160;Includes payments of $16,135 in cash for the Off Grid acquisition, $47,123&#160;in shares of common stock for the ecobee acquisition, and $542 in cash for the ecobee acquisition. The payment of common stock is accounted for as a non-cash item in the consolidated statement of cash flows.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Use of Estimates</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The preparation of the consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesPolicyTextBlock', window );">Derivatives, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Derivative Instruments and Hedging Activities</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Company records all derivatives in accordance with ASC <em style="font: inherit;">815,</em> <i>Derivatives and Hedging</i><i>,</i> which requires derivative instruments to be reported in the consolidated balance sheets at fair value and establishes criteria for designation and effectiveness of hedging relationships. The Company is exposed to market risk such as changes in commodity prices, foreign currencies and interest rates. The Company does <em style="font: inherit;">not</em> hold or issue derivative financial instruments for trading purposes.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Share-Based Payment Arrangement [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>S</b><b>hare</b><b>-Based Compensation</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b>&#160;</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Share-based compensation expense, including stock options and restricted stock awards, is generally recognized on a straight-line basis over the vesting period based on the fair value of awards which are expected to vest. The fair value of all share-based awards is estimated on the date of grant. Refer to Note <em style="font: inherit;">17,</em> &#8220;Share Plans,&#8221; to the consolidated financial statements for further information on the Company&#8217;s share-based compensation plans and accounting.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_AcquisitionRelatedCostsPolicyTextBlock', window );">Acquisition Related Costs [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>Acquisition related costs</b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">Acquisition related costs are external costs the Company incurs to affect a business combination including legal fees,&#160;professional and advisory&#160;services, transaction taxes such as stamp tax, and insurance premiums.&#160;The Company accounts for acquisition related costs as expense&#160;in the period&#160;in which the costs are incurred and the services are received.&#160;Total acquisition related costs&#160;were <span style="color:#000000;">$1,459,</span> $21,465, and $1,411&#160;for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020</em>, respectively.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">New Accounting Pronouncements, Policy [Policy Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><b>New Accounting Pronouncements </b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">Changes to GAAP are established by the Financial Accounting Standards Board (FASB) in the form of accounting standard updates (&#8220;ASUs&#8221;) to the FASB Accounting Standards Codification (ASC). ASUs&#160;<em style="font: inherit;">not</em>&#160;listed below were assessed and determined to be either&#160;<em style="font: inherit;">not</em>&#160;applicable or are&#160;<em style="font: inherit;">not</em>&#160;expected to have a material impact on the Company&#8217;s consolidated financial statements.</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">&#160;</p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"><b><i>Recently Adopted </i></b><b><i>Accounting Standards</i></b></p>
   <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&#160;</p>
   <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;">On <em style="font: inherit;"> October&#160;</em><em style="font: inherit;">1,</em> <em style="font: inherit;">2022</em><i>,&#160;</i>the Company elected to early adopt&#160;ASU&#160;<em style="font: inherit;">2022</em>-<em style="font: inherit;">04</em><i>,&#160;Liabilities&#160;&#8211; Supplier Finance Program: Disclosure of Supplier Finance Program Obligations</i>. This guidance was issued to enhance the transparency of supplier finance programs. The amendments in this update require that a buyer in a supplier finance program disclose sufficient information about the program to allow a user&#160;of&#160;financial statements to understand the program's nature, activity during the period, changes from period to period, and potential magnitude. The Company has <em style="font: inherit;">one</em> supplier finance program; however, the program magnitude&#160;is <em style="font: inherit;">not</em> material to the Company.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_AcquisitionRelatedCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for acquisition related costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_AcquisitionRelatedCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure for the accounting policy for the fair value of contingent consideration in a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for advertising cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 720<br> -SubTopic 35<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6420018&amp;loc=d3e36677-107848<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4273-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941378&amp;loc=d3e61044-112788<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=d3e5614-111684<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy related to debt. Includes, but is not limited to, debt issuance costs, the effects of refinancings, method of amortizing debt issuance costs and original issue discount, and classifications of debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for its derivative instruments and hedging activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=d3e41620-113959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=d3e41638-113959<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5579245-113959<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=d3e41675-113959<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(n))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5579240-113959<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the fair value of financial instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 60<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=7493716&amp;loc=d3e21868-110260<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13279-108611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -URI https://asc.fasb.org/topic&amp;trid=2175825<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13854-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -URI https://asc.fasb.org/subtopic&amp;trid=2144439<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 05<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=109226317&amp;loc=d3e202-110218<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011434&amp;loc=d3e125687-122742<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32247-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32847-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32840-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL116659661-227067<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32280-109318<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4556-108314<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI https://asc.fasb.org/topic&amp;trid=2126998<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 330<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6471895&amp;loc=d3e55923-109411<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4492-108314<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126900757&amp;loc=d3e543-108305<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99779-112916<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99893-112916<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for receivable. Includes, but is not limited to, accounts receivable and financing receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5033-111524<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=84159169&amp;loc=d3e10178-111534<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=84159169&amp;loc=d3e10149-111534<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=84159169&amp;loc=d3e10133-111534<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpensePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpensePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue from contract with customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130561-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130566-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130563-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI https://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130566-203045<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130563-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130566-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130564-203045<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130566-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI https://asc.fasb.org/topic&amp;trid=2228938<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2.Q6)<br> -URI https://asc.fasb.org/extlink&amp;oid=122041274&amp;loc=d3e301413-122809<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766867232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Summary of Accounting Policies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock', window );">Accounts Receivable, Allowance for Credit Loss [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b><em style="font: inherit;">Year Ended December 31, 2022</em></b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 83%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at beginning of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,025</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Established for acquisitions</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">498</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Provision for credit losses (1)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">17,966</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Charge-offs</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(2,554</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Currency translation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(271</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Balance at end of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,664</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock', window );">Property Plant and Equipment, Estimated Useful Lives [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Land improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">8</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">20</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Buildings and improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">10</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">40</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Machinery and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">3</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Dies and tools</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">3</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Vehicles</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">3</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Office equipment and systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">3</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 82%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Leasehold improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">2</td><td style="width: 4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">&#8211;</td><td style="width: 6%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">20</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock', window );">Schedule of Business Acquisitions by Acquisition, Contingent Consideration [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Beginning balance, January 1, 2022</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">146,759</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Changes in fair value</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(231</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Payment of contingent consideration (1)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">(63,800</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Present value interest accretion</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">1,974</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Currency translation</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(3,169</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Ending balance, December 31, 2022</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">81,533</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for the useful life of long-lived, physical assets used in the normal conduct of business and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of contingent payment arrangements including the terms that will result in payment and the accounting treatment that will be followed if such contingencies occur, including the potential impact on earnings per share if contingencies are to be settled in common stock of the entity. The description also may include the period over which amounts are expected to be paid, and changes in the amount since the previous reporting period. This also includes contingent options and commitments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766584800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Acquisitions (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock', window );">Schedule of Consideration Transferred for Business Acquisitions [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash paid at closing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">11,821</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred cash payment (1)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">6,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Common stock issued at closing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">12,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Contingent consideration (2)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">31,308</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total purchase price</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">61,129</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash paid at closing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">225,403</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Common stock issued at closing</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">420,774</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Contingent consideration (1)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">89,400</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total purchase price</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">735,577</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock', window );">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022 Acquisitions</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021 Acquisitions</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020 Acquisitions</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>&#160;</b></td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Deep Sea</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>ecobee</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>All Other</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>&#160;</b></td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#160;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Accounts receivable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12,656</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,574</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">23,337</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">13,852</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">46,763</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,094</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,138</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,970</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,258</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,034</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">24,262</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,575</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Prepaid expenses and other current assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,707</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,181</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,689</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,594</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">13,464</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">858</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Property and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">708</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,838</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,588</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">480</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12,906</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">635</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,711</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">174,270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">557,900</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">81,171</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">813,341</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">26,235</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Goodwill</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,870</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">263,604</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">248,231</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">83,859</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">595,694</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">40,395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">40,020</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,694</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">45,714</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Other assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,953</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">151</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">9,289</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,526</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">17,966</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,122</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total assets acquired</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">38,743</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">467,588</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">895,312</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">207,210</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,570,110</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">77,914</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Accounts payable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,479</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,998</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">25,968</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,473</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">42,439</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,088</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Accrued wages and employee benefits</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,429</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,106</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,354</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">872</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,332</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">700</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Other accrued liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,934</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,737</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">19,898</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">18,258</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">39,893</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,151</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Short-term borrowings</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">800</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">800</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Current portion of long-term borrowings and finance lease obligations</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">233</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">233</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,090</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">33,957</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">78,753</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">19,930</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">132,640</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,827</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Other long-term liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,157</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">90</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">33,762</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,997</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">43,849</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,208</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Long-term debt</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,624</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,624</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Net assets acquired</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">25,654</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">420,700</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">735,577</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">148,023</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,304,300</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">64,940</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionProFormaInformationNonrecurringAdjustmentsTableTextBlock', window );">Business Acquisition, Pro Forma Information, Nonrecurring Adjustments [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net Sales:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">As reported</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,564,737</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,737,184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,485,200</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Pro forma</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">4,593,485</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,932,250</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">2,764,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to Generac Holdings Inc.:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">As reported</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">399,502</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">550,494</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">350,576</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Pro forma (1)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">402,670</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">462,903</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">267,376</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to Generac Holdings Inc. per common share - diluted</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">As reported</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">5.42</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">8.30</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">5.48</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Pro forma</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">5.47</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">6.94</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">4.11</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of consideration transferred for business acquisitions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionProFormaInformationNonrecurringAdjustmentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the nature and amount of any material, nonrecurring adjustments directly attributable to the business combination(s) included in the reported pro forma revenue and earnings (supplemental pro forma information).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionProFormaInformationNonrecurringAdjustmentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766701536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Redeemable Noncontrolling Interest (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RedeemableNoncontrollingInterestTableTextBlock', window );">Redeemable Noncontrolling Interest [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">
     <tbody>
      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2022</em></b></p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2021</em></b></p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">2020</em></b></p> </td>
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance at beginning of period</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">58,050</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">66,207</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">61,227</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Share of net income (loss)</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">7,543</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">5,574</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">(2,829</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">)</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Foreign currency translation</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">(3,982</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">)</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">(3,669</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">)</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">6,562</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Purchase of additional ownership interest</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">(375</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">)</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">(27,164</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">)</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">-</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
      </tr>

      <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">Redemption value adjustment</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">49,235</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">17,102</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">1,247</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0; margin: 0">&#160;</td>
      </tr>

      <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom">
       <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Balance at end of period</p> </td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">110,471</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">58,050</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
       <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">66,207</td>
       <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
      </tr>

     </tbody>
    </table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RedeemableNoncontrollingInterestTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of redeemable noncontrolling interest (as defined) included in the statement of financial position as either a liability or temporary equity. As of the date of the statement of financial position, such redeemable noncontrolling interest is currently redeemable, as defined, for cash or other assets of the entity at (1) at a fixed or determinable price on a fixed or determinable date, (2) at the option of the holder of the noncontrolling interest, or (3) upon occurrence of an event that is not solely within the control of the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RedeemableNoncontrollingInterestTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766715056">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 5 - Derivative Instruments and Hedging Activities (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock', window );">Schedule Of Derivative Assets (Liabilities) at Fair Value [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>December 31,<br/> 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>December 31,<br/> 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Foreign currency contracts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">94</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c93264001">(36)</span></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Interest rate swaps</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">49,279</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2,074</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of derivative assets and liabilities at fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364750932432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Accumulated Other Comprehensive Loss (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock', window );">Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Foreign Currency Translation Adjustments</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Unrealized Gain (Loss) on Cash Flow Hedges</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Total</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 55%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Beginning Balance &#8211; January 1, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(52,704</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(2,051</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(54,755</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other comprehensive income (loss) before reclassifications</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(48,841</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><em style="font: inherit;">(1)</em></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">38,494</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;"><em style="font: inherit;">(2)</em></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(10,347</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Amounts reclassified from AOCL</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net current-period other comprehensive income (loss)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(48,841</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">38,494</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(10,347</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Ending Balance &#8211; December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(101,545</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">36,443</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(65,102</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td></tr>
</tbody></table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Foreign Currency Translation Adjustments</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Unrealized Gain (Loss) on Cash Flow Hedges</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 55%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Beginning Balance &#8211; January 1, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(11,674</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(22,580</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(34,254</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other comprehensive income (loss) before reclassifications</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(41,030</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">(3)</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">20,529</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">(4)</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(20,501</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Amounts reclassified from AOCL</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net current-period other comprehensive income (loss)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(41,030</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">20,529</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(20,501</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Ending Balance &#8211; December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(52,704</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(2,051</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"><em style="font: inherit;">&#160;</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(54,755</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accumulated other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669686-108580<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766876880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Segment Reporting (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Disaggregation of Revenue [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Net Sales by Segment</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31, 2022</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Product Classes</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Domestic</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">International</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Total</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Residential products</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">2,782,037</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">129,834</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">2,911,871</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Commercial &amp; industrial products</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">746,172</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">514,565</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,260,737</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">339,657</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">52,472</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">392,129</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,867,866</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">696,871</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,564,737</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31, 2021</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Product Classes</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Domestic</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">International</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Total</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Residential products</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,366,908</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">89,857</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,456,765</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Commercial &amp; industrial products</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">556,520</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">442,478</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">998,998</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">240,622</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">40,799</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">281,421</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,164,050</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">573,134</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,737,184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31, 2020</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Product Classes</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Domestic</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">International</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Total</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Residential products</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,495,383</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">61,118</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,556,501</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Commercial &amp; industrial products</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">404,867</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">296,884</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">701,751</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">188,558</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">38,390</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">226,948</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,088,808</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">396,392</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,485,200</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock', window );">Reconciliation of Revenue from Segments to Consolidated [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Domestic</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>International</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Eliminations</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">External net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,867,866</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">696,871</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,564,737</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Intersegment sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">60,731</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">93,699</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(154,430</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,928,597</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">790,570</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(154,430</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,564,737</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Domestic</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>International</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Eliminations</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">External net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,164,050</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">573,134</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,737,184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Intersegment sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">39,339</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">26,123</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(65,462</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,203,389</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">599,257</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(65,462</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,737,184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Domestic</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>International</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Eliminations</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">External net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,088,808</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">396,392</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,485,200</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Intersegment sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">13,505</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,649</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(15,154</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,102,313</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">398,041</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(15,154</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,485,200</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Schedule of Segment Reporting Information, by Segment [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Adjusted EBITDA</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Domestic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">716,302</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">795,417</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">563,394</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">International</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">109,065</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">66,008</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">20,379</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Total adjusted EBITDA</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">825,367</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">861,425</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">583,773</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Interest expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(54,826</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(32,953</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(32,991</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Depreciation and amortization</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(156,141</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(92,041</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(68,773</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Non-cash write-down and other adjustments (1)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">2,091</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,070</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">327</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Non-cash share-based compensation expense (2)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(29,481</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(23,954</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(20,882</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Loss on extinguishment of debt (3)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(3,743</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(831</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Transaction costs and credit facility fees (4)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(5,026</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(22,357</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(2,151</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Business optimization and other charges (5)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(4,371</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(33</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(12,158</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Provision for regulatory and clean energy product charges (6)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(65,265</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(139</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(800</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(954</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Income before provision for income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">508,466</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">691,526</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">446,191</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Assets</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Domestic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">4,032,086</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,742,101</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">2,659,597</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">International</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">1,137,376</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">1,135,679</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">575,826</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,169,462</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,877,780</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,235,423</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Depreciation and Amortization</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Domestic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">123,768</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">66,675</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">53,020</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">International</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">32,373</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">25,366</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">15,753</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">156,141</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">92,041</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">68,773</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Capital Expenditures</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Domestic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">69,680</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">100,672</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">51,867</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">International</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">16,508</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">9,320</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">10,261</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">86,188</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">109,992</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">62,128</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of all significant reconciling items in the reconciliation of total revenues from reportable segments to the entity's consolidated revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8813-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364756513744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Balance Sheet Details (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of Inventory, Current [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Raw material</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">798,340</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">727,162</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Work-in-process</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">14,899</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">10,756</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Finished goods</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">592,145</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">351,787</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,405,384</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,089,705</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Property, Plant and Equipment [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Land and improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">22,589</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">26,137</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Buildings and improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">243,553</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">244,273</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Machinery and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">229,593</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">186,611</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Dies and tools</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">37,343</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">31,581</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Vehicles</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">9,807</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">7,621</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Office equipment and systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">148,166</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">125,048</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Leasehold improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">6,849</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">5,679</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Construction in progress</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">52,522</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">47,601</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Gross property and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">750,422</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">674,551</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Accumulated depreciation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(282,818</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(233,699</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">467,604</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">440,852</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364750818560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Goodwill and Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfGoodwillTextBlock', window );">Schedule of Goodwill [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Domestic</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">International</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Total</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">702,535</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">152,693</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">855,228</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Acquisitions of businesses, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">293,614</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">284,447</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">578,061</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Foreign currency translation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(705</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(22,910</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(23,615</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">995,444</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">414,230</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,409,674</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Acquisitions of businesses, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">22,128</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">437</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">22,565</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Foreign currency translation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(915</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(30,444</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(31,359</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,016,657</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">384,223</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,400,880</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2022</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2021</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><em style="font: inherit;">Gross</em></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><em style="font: inherit;">Accumulated Impairment</em></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><em style="font: inherit;">Net</em></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><em style="font: inherit;">Gross</em></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><em style="font: inherit;">Accumulated Impairment</em></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><em style="font: inherit;">Net</em></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Domestic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,519,850</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(503,193</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,016,657</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,498,637</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(503,193</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">995,444</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">International</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">388,834</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(4,611</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">384,223</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">418,841</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(4,611</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">414,230</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,908,684</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(507,804</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,400,880</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,917,478</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(507,804</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,409,674</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_ScheduleOfIntangibleAssetsTableTextBlock', window );">Schedule Of Intangible Assets [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#160;</b></td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Weighted Average Amortization Years</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Gross</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Accumulated Amortization</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Net Book Value</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Gross</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Accumulated Amortization</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Net Book Value</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finite-lived intangible assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Tradenames</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;">14</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">157,751</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(58,821</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">98,930</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">162,563</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(47,353</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">115,210</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Customer lists</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">577,203</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(370,216</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">206,987</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">573,910</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(335,188</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">238,722</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Patents and technology</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">14</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">665,563</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(210,806</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">454,757</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">662,341</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(169,868</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">492,473</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Software</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,046</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,046</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,046</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,046</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Non-compete/other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">70,585</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(28,866</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">41,719</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">79,416</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(12,980</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">66,436</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total finite-lived intangible assets</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,472,148</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(669,755</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">802,393</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,479,276</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(566,435</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">912,841</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin: 0px; padding: 0px;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Indefinite-lived tradenames</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">128,321</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">128,321</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">128,321</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">128,321</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Total intangible assets</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,600,469</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(669,755</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">930,714</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,607,597</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(566,435</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,041,162</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_ScheduleOfIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of intangible assets, by major asset class.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_ScheduleOfIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfGoodwillTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=SL108378252-109267<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13854-109267<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfGoodwillTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364760137840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Lease, Cost [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 43%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">36,292</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">22,432</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">18,648</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance lease cost:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Amortization of ROU assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,298</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,187</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,587</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest on lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,945</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,021</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,237</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">41,535</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,640</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">23,472</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock', window );">Schedule of Components of Lease Assets and Liabilities [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating Leases</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease ROU assets (1)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">100,083</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">101,266</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease liabilities - current (2)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">30,330</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">23,549</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease liabilities - noncurrent (3)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">73,547</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">80,370</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total operating lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">103,877</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">103,919</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance Leases</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance lease ROU assets, gross</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">35,470</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">47,119</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Accumulated depreciation - finance lease ROU assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(10,751</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(10,343</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Finance lease ROU assets, net (4)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">24,719</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">36,776</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance lease liabilities - current (5)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,650</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,209</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance lease liabilities - noncurrent (6)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">24,770</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">34,966</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total finance lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,420</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">39,175</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_ScheduleOfLeasesCashFlowInformationTableTextBlock', window );">Schedule of Leases Cash Flow Information [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31, 2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash paid for amounts included in the measurement of lease liabilities</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating cash flows from operating leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">36,020</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">21,250</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">18,412</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating cash flows from finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,919</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,972</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,871</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Financing cash flows from finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,931</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,679</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,957</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">ROU assets obtained in exchange for lease liabilities</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">28,766</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">55,057</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">41,678</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,874</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,026</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,737</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_LeaseTermAndDiscountRateTableTextBlock', window );">Lease, Term and Discount Rate [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 64%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average remaining lease term (in years)</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating Leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4.65</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5.21</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Finance Leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11.26</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11.94</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average discount rate</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating Leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4.82</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3.58</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Finance Leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7.58</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7.43</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">%</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock', window );">Operating and Finance Lease, Liability, Maturity [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Finance Leases</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Operating Leases</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">4,487</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">34,208</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">4,223</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">30,834</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,639</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">20,386</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,137</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">9,855</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">2,929</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">8,334</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">After 2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">24,405</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">14,743</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total minimum lease payments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">42,820</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">118,360</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Interest component</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(15,400</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(14,483</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Present value of minimum lease payments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,420</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">103,877</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_LeaseTermAndDiscountRateTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of term and discount rate of lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_LeaseTermAndDiscountRateTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of operating and finance lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating and finance lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of components of lease assets and liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_ScheduleOfLeasesCashFlowInformationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of leases related to cash flow information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_ScheduleOfLeasesCashFlowInformationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766619040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Product Warranty Obligations (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock', window );">Schedule of Product Warranty Liability [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at beginning of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">94,213</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">59,218</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">49,316</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Product warranty reserve assumed in acquisition</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,932</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">124</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Payments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(77,476</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(42,682</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(33,496</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Provision for warranty issued</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">80,340</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">69,280</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">42,093</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Changes in estimates for pre-existing warranties (1)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">40,934</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">4,465</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">1,181</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at end of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">138,011</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">94,213</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">59,218</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at beginning of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">111,647</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">89,788</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">78,738</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Deferred revenue contracts issued</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">42,869</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">41,560</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">26,968</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Amortization of deferred revenue contracts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(21,703</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(19,701</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(15,918</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Balance at end of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">132,813</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">111,647</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">89,788</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">202<span style="-sec-ix-hidden:c93264675">3</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">30,291</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">202<span style="-sec-ix-hidden:c93264677">4</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">24,472</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">202<span style="-sec-ix-hidden:c93264679">5</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">22,120</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">202<span style="-sec-ix-hidden:c93264681">6</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">17,803</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">After 202<span style="-sec-ix-hidden:c93264683">6</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">38,127</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">132,813</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock', window );">Product Warranty Obligations Included In Consolidated Balance Sheet [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Product warranty liability</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Current portion - accrued product warranty</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">89,141</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">59,052</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Long-term portion - other long-term liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">48,870</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">35,161</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">138,011</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">94,213</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Deferred revenue related to extended warranties</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Current portion - other accrued liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">30,291</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">20,556</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Long-term portion - other long-term liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">102,522</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">91,091</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">132,813</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">111,647</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Product warranty obligations included in consolidated balance sheet.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of expected timing for satisfying remaining performance obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364752961520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Credit Agreements (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock', window );">Schedule of Long-Term Debt Instruments [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Tranche A Term Loan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">750,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Tranche B Term Loan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">530,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">780,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Original issue discount and deferred financing costs</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(16,568</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(13,214</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">ABL facility</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">100,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Revolver</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">90,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Finance lease obligation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">27,420</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">39,175</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">966</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">2,060</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,381,818</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">908,021</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Less: current portion of debt</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">10,083</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,721</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Less: current portion of finance lease obligation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">2,650</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">4,209</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,369,085</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">902,091</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock', window );">Schedule of Maturities of Long-Term Debt [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Tranche A Term Loan</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Tranche B Term Loan</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Revolver and Other</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Total</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,375</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">708</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,083</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">28,125</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">53</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">28,178</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">46,875</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">56</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">46,931</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">65,625</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">530,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">86</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">595,711</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">600,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">90,032</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">690,032</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">After 2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">31</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">31</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">750,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">530,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">90,966</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,370,966</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28541-108399<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21506-112644<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69E<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495743-112612<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21521-112644<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21538-112644<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=123599511&amp;loc=d3e64711-112823<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtInstrumentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of maturity and sinking fund requirement for long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364756403744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Earnings Per Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Numerator</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to Generac Holdings Inc.</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">399,502</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">550,494</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">350,576</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Redeemable noncontrolling interest redemption value adjustment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(49,235</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(17,102</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,247</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Net income attributable to common shareholders</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">350,267</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">533,392</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">349,329</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"><b>Denominator</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Weighted average shares, basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">63,117,007</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">62,686,001</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">62,280,889</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Dilutive effect of stock compensation awards (1)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,087,219</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,534,603</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,456,845</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Dilutive effect of contingently issued shares</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">477,131</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">32,804</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Diluted shares</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">64,681,357</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">64,253,408</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">63,737,734</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to common shareholders per share</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">5.55</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">8.51</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">5.61</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">5.42</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">8.30</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">5.48</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364759733104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Current:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Federal</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">118,320</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">105,236</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">62,714</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">State</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">25,743</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">21,295</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">13,071</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">51,055</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">10,536</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">1,974</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-left: 18pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">195,118</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">137,067</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">77,759</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Deferred:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Federal</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(43,475</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">10,518</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">20,452</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">State</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(10,966</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(3,728</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,243</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(40,109</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(7,863</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(1,197</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-left: 18pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(94,550</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,073</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">20,498</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Change in valuation allowance</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(972</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(1,037</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">716</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Provision for income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">99,596</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">134,957</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">98,973</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Deferred tax assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Accrued expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">46,994</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">37,797</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Deferred revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">34,914</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">27,003</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">20,229</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">14,907</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Stock-based compensation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">11,750</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">10,202</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Operating loss and credit carryforwards</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">56,279</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">68,368</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Bad debt</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,415</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,253</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">7,531</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">12,203</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Capitalized R&amp;D</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">33,738</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Valuation allowance</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(4,638</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(7,874</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 18pt;">Total deferred tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">208,212</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">163,859</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Deferred tax liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Goodwill and intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">260,745</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">328,162</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Depreciation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">44,385</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">21,340</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Debt refinancing costs</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">2,916</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Interest swap and derivative</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">12,370</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Prepaid expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">2,473</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">1,664</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 18pt;">Total deferred tax liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">321,157</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">354,082</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;">&#160;</td><td style="padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="padding: 0px 0px 1px; margin: 0px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net deferred tax liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><span style="-sec-ix-hidden:c93265016">(112,945)</span></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><span style="-sec-ix-hidden:c93265017">(190,223</span></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock', window );">Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">December 31,</em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Unrecognized tax benefit, beginning of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8,647</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7,613</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Increase in unrecognized tax benefit for positions taken in prior period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">97</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">272</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Increase in unrecognized tax benefit for positions taken in current period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">975</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">990</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Statute of limitation expirations</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(824</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(228</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Settlements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Unrecognized tax benefit, end of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">8,895</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">8,647</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Year Ended December 31,</em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2022</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2021</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">U.S. statutory rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">State taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">4.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">4.3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">4.3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">State tax rate differential</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(0.3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">0.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">0.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Research and development credits</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(1.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(1.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(1.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">State credits</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(1.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(1.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(1.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Share-based compensation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(2.7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(3.8</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(1.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Nondeductible U.S. compensation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1.6</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">0.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Foreign tax deduction</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(0.4</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(1.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">0.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Foreign deferred tax rate change</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">0.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1.2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">0.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(1.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(1.1</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">0.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Effective tax rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">19.6</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">19.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);">22.2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;">%</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the change in unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 55<br> -Paragraph 217<br> -URI https://asc.fasb.org/extlink&amp;oid=126976462&amp;loc=d3e36027-109320<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364759085376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Share Plans (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="10" rowspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>Year Ended December 31,</b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 49%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Weighted average grant date fair value per share</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">129.38</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">129.47</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">35.79</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Assumptions:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Expected stock price volatility</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">38</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">37</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">32</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Risk free interest rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1.54</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.45</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1.56</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Expected annual dividend per share</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Expected life of options (years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Share-Based Payment Arrangement, Option, Activity [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Number of Options</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Weighted-Average Exercise Price</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Weighted-Average Remaining Contractual Term (in years)</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Aggregate Intrinsic Value ($ in thousands)</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Outstanding as of December 31, 2019</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,592,686</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">42.04</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.9</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">93,242</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">173,650</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">102.32</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(216,196</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">39.88</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(21,450</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">50.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Outstanding as of December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,528,690</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">49.08</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">272,553</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">70,392</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">335.70</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(229,921</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">45.95</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(27,030</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">63.27</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Outstanding as of December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,342,131</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">64.29</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">386,069</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">109,266</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">282.20</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(137,305</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">36.91</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);">(45,688</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">194.05</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">&#160;</em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Outstanding as of December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;">1,268,404</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">81.35</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">4.9</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">47,764</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Exercisable as of December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">982,934</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">50.86</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">4.1</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">44,904</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock', window );">Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Shares</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Weighted-Average Grant-Date Fair Value</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 64%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Non-vested as of December 31, 2019</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">491,637</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">52.84</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">183,868</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">95.14</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Vested</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(200,390</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">45.10</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(18,921</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">56.58</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Non-vested as of December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">456,194</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">68.42</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">126,339</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">223.09</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Vested</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(202,327</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58.99</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(14,241</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">138.64</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Non-vested as of December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">365,965</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">124.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">287,821</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">214.58</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Vested</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(234,284</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">83.52</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;">(41,204</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">263.47</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Non-vested as of December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">378,298</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"><em style="font: inherit;">203.04</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766851664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 19 - Quarterly Financial Information (Unaudited) (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock', window );">Quarterly Financial Information [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Quarters Ended 2022</em></em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Q1</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Q2</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Q3</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><em style="font: inherit;">Q4</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,135,856</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,291,391</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,088,258</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,049,232</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross profit</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">360,748</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">456,985</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">361,104</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">343,167</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">154,735</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">216,844</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">87,523</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">107,228</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income attributable to Generac Holdings Inc.</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">113,858</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">156,359</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">58,270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">71,015</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income attributable to common shareholders per common share - basic:</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1.61</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2.24</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.84</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.84</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income attributable to common shareholders per common share - diluted:</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1.57</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2.21</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.83</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.83</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>

    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">Quarters Ended 2021</em></em></em></em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Q1</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Q2</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Q3</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Q4</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">807,434</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">919,981</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">942,698</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,067,071</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Gross profit</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">321,814</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">339,735</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">335,994</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">362,539</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Operating income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">189,124</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">182,952</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">173,579</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">175,481</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to Generac Holdings Inc.</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">148,993</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">127,036</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">131,570</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">142,895</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to common shareholders per common share - basic:</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.39</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.06</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1.98</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.09</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Net income attributable to common shareholders per common share - diluted:</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.33</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.01</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1.93</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.04</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126900988&amp;loc=d3e1280-108306<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364756396992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 20 - Valuation and Qualifying Accounts (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_ValuationAndQualifyingAccountsTableTextBlock', window );">Valuation and Qualifying Accounts [Table Text Block]</a></td>
<td class="text">
    <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Balance at Beginning of Year</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Additions Charged to Earnings</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Additions Charged to Retained Earnings (1)</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Charges to Reserve, Net (2)</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Reserves Established for Acquisitions</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">Balance at End of Year</em></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Year ended December 31, 2022</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Allowance for credit losses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">12,025</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">17,966</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(2,825</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">498</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">27,664</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Reserves for inventory</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">33,537</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">9,656</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(4,737</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">1,258</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">39,714</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> <p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Valuation of deferred tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">7,874</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">649</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(1,501</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">(2,384</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">4,638</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Year ended December 31, 2021</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;">Allowance for credit losses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,001</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">206</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,640</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,458</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,025</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;">Reserves for inventory</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">27,817</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">17,698</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(15,749</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,771</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">33,537</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;">Valuation of deferred tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,740</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,404</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2,441</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,171</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7,874</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td><td>&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;">Year ended December 31, 2020</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;">Allowance for credit losses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6,968</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,645</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,147</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(957</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">198</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,001</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;">Reserves for inventory</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">24,293</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,353</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(8,788</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">959</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">27,817</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
<tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;">Valuation of deferred tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,024</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">716</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,740</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td></tr>
</tbody></table>
   <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_ValuationAndQualifyingAccountsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A tabular disclosure of allowance and reserve accounts including their beginning and ending balances, as well as a reconciliation by type of activity during the period. Alternatively, disclosure of the required information may be within the footnotes to the financial statements or a supplemental schedule to the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_ValuationAndQualifyingAccountsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364757490976">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Summary of Accounting Policies (Details Textual)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 30, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 01, 2021 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableGross', window );">Accounts Receivable, before Allowance for Credit Loss</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 550,122<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 550,122<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Accounts Receivable, Allowance for Credit Loss, Ending Balance</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">27,664<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27,664<span></span>
</td>
<td class="nump">$ 12,025<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Accounts Receivable, Credit Loss Expense (Reversal)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,966<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation, Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">52,821<span></span>
</td>
<td class="nump">42,155<span></span>
</td>
<td class="nump">$ 36,493<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetImpairment', window );">Goodwill and Intangible Asset Impairment, Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_AmortizationOfFinancingCostsAndDebtDiscountPremium', window );">Amortization of Financing Costs and Debt Discount Premium</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,234<span></span>
</td>
<td class="nump">2,589<span></span>
</td>
<td class="nump">2,598<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_DeferredCostsAmortizationExpenseNextTwelveMonths', window );">Deferred Costs Amortization Expense, Next Twelve Months</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">3,885<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,885<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_DeferredCostsAmortizationExpenseYearTwo', window );">Deferred Costs Amortization Expense, Year Two</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">3,923<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,923<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_DeferredCostsAmortizationExpenseYearThree', window );">Deferred Costs Amortization Expense, Year Three</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">3,919<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,919<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_DeferredCostsAmortizationExpenseYearFour', window );">Deferred Costs Amortization Expense, Year Four</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">3,819<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,819<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_DeferredCostsAmortizationExpenseYearFive', window );">Deferred Costs Amortization Expense, Year Five</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,028<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,028<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Contract with Customer, Liability, Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">33,551<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33,551<span></span>
</td>
<td class="nump">27,388<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Contract with Customer, Liability, Revenue Recognized</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27,388<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvertisingExpense', window );">Advertising Expense</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100,589<span></span>
</td>
<td class="nump">66,660<span></span>
</td>
<td class="nump">53,678<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and Development Expense, Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">159,774<span></span>
</td>
<td class="nump">104,303<span></span>
</td>
<td class="nump">80,251<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Business Combination, Contingent Consideration, Liability, Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">81,533<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">81,533<span></span>
</td>
<td class="nump">146,759<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment for Contingent Consideration Liability, Financing Activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,135<span></span>
</td>
<td class="nump">3,750<span></span>
</td>
<td class="nump">4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts', window );">Business Combination, Acquisition Related Costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,459<span></span>
</td>
<td class="nump">21,465<span></span>
</td>
<td class="nump">$ 1,411<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfOffGridEnergyMember', window );">Acquisition of Off Grid Energy [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Business Combination, Contingent Consideration, Liability, Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 29,054<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment for Contingent Consideration Liability, Financing Activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 16,135<span></span>
</td>
<td class="nump">16,135<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_EcobeeIncMember', window );">ecobee Inc. [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment for Contingent Consideration Liability, Financing Activities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">542<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">542<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_ContingentConsiderationSharePaymentsValue', window );">Contingent Consideration, Share Payments, Value</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">47,123<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">47,123<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=gnrc_OtherAccruedLiabilitiesMember', window );">Other Accrued Liabilities [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Business Combination, Contingent Consideration, Liability, Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">49,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">49,500<span></span>
</td>
<td class="nump">68,665<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=gnrc_OtherLongtermLiabilitiesMember', window );">Other Long-term Liabilities [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Business Combination, Contingent Consideration, Liability, Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">32,033<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,033<span></span>
</td>
<td class="nump">$ 78,094<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Fair Value, Inputs, Level 2 [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFairValue', window );">Debt Instrument, Fair Value Disclosure, Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">516,750<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">516,750<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=gnrc_TermLoanMember', window );">Term Loan [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-Term Debt, Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 523,305<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">523,305<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=gnrc_CleanEnergyProductMember', window );">Clean Energy Product [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Accounts Receivable, Credit Loss Expense (Reversal)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,926<span></span>
</td>
<td class="nump">$ 17,926<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable [Member] | Customer Concentration Risk [Member] | One Customer [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11.00%<span></span>
</td>
<td class="nump">8.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenue Benchmark [Member] | Customer Concentration Risk [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_NumberOfMajorCustomers', window );">Number of Major Customers</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenue Benchmark [Member] | Customer Concentration Risk [Member] | No Customer [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.00%<span></span>
</td>
<td class="nump">6.00%<span></span>
</td>
<td class="nump">6.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr><td colspan="7"></td></tr>
<tr><td colspan="7"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">Includes a specific credit loss provision of $17,926 recorded during the third quarter of 2022 for a clean energy product customer that filed for bankruptcy.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_AmortizationOfFinancingCostsAndDebtDiscountPremium">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of non-cash expense included in interest expense to issue and amortize debt discount and obtain financing associated with the related debt instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_AmortizationOfFinancingCostsAndDebtDiscountPremium</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_ContingentConsiderationSharePaymentsValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of share payments for contingent consideration.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_ContingentConsiderationSharePaymentsValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_DeferredCostsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense expected to be recognized during the next fiscal year following the latest fiscal year for deferred costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_DeferredCostsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_DeferredCostsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense expected to be recognized during the fifth fiscal year following the latest fiscal year for deferred costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_DeferredCostsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_DeferredCostsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense expected to be recognized during the fourth fiscal year following the latest fiscal year for deferred costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_DeferredCostsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_DeferredCostsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense expected to be recognized during the third fiscal year following the latest fiscal year for deferred costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_DeferredCostsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_DeferredCostsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense expected to be recognized during the second fiscal year following the latest fiscal year for deferred costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_DeferredCostsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_NumberOfMajorCustomers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents number of major customers that accounts for 10 percent or more of the entity's revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_NumberOfMajorCustomers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 720<br> -SubTopic 35<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6420018&amp;loc=d3e36677-107848<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 25<br> -Paragraph 23<br> -URI https://asc.fasb.org/extlink&amp;oid=123586518&amp;loc=d3e1043-128460<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAcquisitionRelatedCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e6927-128479<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126966325&amp;loc=d3e6819-128478<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13531-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13537-108611<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130532-203044<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of debt instrument payable, including, but not limited to, notes payable and loans payable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13433-108611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetImpairment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total loss recognized during the period from the impairment of goodwill plus the loss recognized in the period resulting from the impairment of the carrying amount of intangible assets, other than goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetImpairment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfOffGridEnergyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfOffGridEnergyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_EcobeeIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_EcobeeIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=gnrc_OtherAccruedLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=gnrc_OtherAccruedLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=gnrc_OtherLongtermLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=gnrc_OtherLongtermLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=gnrc_TermLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=gnrc_TermLoanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=gnrc_CleanEnergyProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=gnrc_CleanEnergyProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=gnrc_OneCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=gnrc_OneCustomerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=gnrc_NoCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=gnrc_NoCustomerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364765702480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Summary of Accounting Policies - Summary of Allowance for Doubtful Accounts (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr><th class="th" colspan="2">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Balance</a></td>
<td class="nump">$ 12,025<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions', window );">Established for acquisitions</a></td>
<td class="nump">498<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Provision for credit losses (1)</a></td>
<td class="nump">17,966<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs', window );">Charge-offs</a></td>
<td class="num">(2,554)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation', window );">Currency translation</a></td>
<td class="num">(271)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Balance</a></td>
<td class="nump">$ 27,664<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">Includes a specific credit loss provision of $17,926 recorded during the third quarter of 2022 for a clean energy product customer that filed for bankruptcy.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in allowance for credit loss on accounts receivable, from currency translation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents increase in allowance for doubtful accounts receivable from Establishment for Acquisitions</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of direct write-downs of accounts receivable charged against the allowance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364756679504">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Summary of Accounting Policies - Property and Equipment Estimated Useful Lives (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandImprovementsMember', window );">Land Improvements [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, estimated useful lives (Year)</a></td>
<td class="text">8 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandImprovementsMember', window );">Land Improvements [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, estimated useful lives (Year)</a></td>
<td class="text">20 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Building and Building Improvements [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, estimated useful lives (Year)</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Building and Building Improvements [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, estimated useful lives (Year)</a></td>
<td class="text">40 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, estimated useful lives (Year)</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, estimated useful lives (Year)</a></td>
<td class="text">15 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=gnrc_DiesAndToolsMember', window );">Dies and Tools [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, estimated useful lives (Year)</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=gnrc_DiesAndToolsMember', window );">Dies and Tools [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, estimated useful lives (Year)</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember', window );">Vehicles [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, estimated useful lives (Year)</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember', window );">Vehicles [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, estimated useful lives (Year)</a></td>
<td class="text">6 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember', window );">Office Equipment [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, estimated useful lives (Year)</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember', window );">Office Equipment [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, estimated useful lives (Year)</a></td>
<td class="text">15 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, estimated useful lives (Year)</a></td>
<td class="text">2 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, estimated useful lives (Year)</a></td>
<td class="text">20 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=gnrc_DiesAndToolsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=gnrc_DiesAndToolsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766040768">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Summary of Accounting Policies - Reconciliation of Contingent Consideration (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Beginning balance, January 1, 2022</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 146,759<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue', window );">Changes in fair value</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(18,339)<span></span>
</td>
<td class="num">$ (206)<span></span>
</td>
<td class="num">$ (7,145)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Ending balance, December 31, 2022</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">81,533<span></span>
</td>
<td class="nump">146,759<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByLiabilityClassAxis=gnrc_ContingentConsiderationLiabilityMember', window );">Contingent Consideration Liability [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Beginning balance, January 1, 2022</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">146,759<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue', window );">Changes in fair value</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(231)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_ContingentConsiderationPayments', window );">Payment of contingent consideration (1)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="num">(63,800)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion', window );">Present value interest accretion</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,974<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation', window );">Currency translation</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(3,169)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Ending balance, December 31, 2022</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 81,533<span></span>
</td>
<td class="nump">$ 146,759<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr><td colspan="4"></td></tr>
<tr><td colspan="4"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">Includes payments of $16,135 in cash for the Off Grid acquisition, $47,123 in shares of common stock for the ecobee acquisition, and $542 in cash for the ecobee acquisition. The payment of common stock is accounted for as a non-cash item in the consolidated statement of cash flows.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The gain (loss) due to currency translation of contingent consideration arrangements in business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of increase due to present value interest accretion in contingent consideration arrangements from business combinations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) from change in fair value of contingent consideration from business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_ContingentConsiderationPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of contingent consideration paid during period, including equity issued as payment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_ContingentConsiderationPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e6927-128479<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126966325&amp;loc=d3e6819-128478<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByLiabilityClassAxis=gnrc_ContingentConsiderationLiabilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByLiabilityClassAxis=gnrc_ContingentConsiderationLiabilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364752761872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Acquisitions (Details Textual) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="4">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 01, 2021</div></th>
<th class="th"><div>Sep. 01, 2021</div></th>
<th class="th"><div>Jul. 02, 2021</div></th>
<th class="th"><div>Jun. 01, 2021</div></th>
<th class="th"><div>Oct. 07, 2020</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 25,065<span></span>
</td>
<td class="nump">$ 713,471<span></span>
</td>
<td class="nump">$ 64,797<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, Ending Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,409,674<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,400,880<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,400,880<span></span>
</td>
<td class="nump">1,409,674<span></span>
</td>
<td class="nump">855,228<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Business Combination, Contingent Consideration, Liability, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">146,759<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">81,533<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">81,533<span></span>
</td>
<td class="nump">146,759<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment for Contingent Consideration Liability, Financing Activities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,135<span></span>
</td>
<td class="nump">3,750<span></span>
</td>
<td class="nump">4,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_EECAndBluePillarMember', window );">EEC and Blue Pillar [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25,654<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfDeepSeaMember', window );">Acquisition of Deep Sea [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 420,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill', window );">Business Acquisition, Purchase Price Allocation, Intangible Assets Including Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">437,874<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, Ending Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 263,604<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">263,604<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">263,604<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfChiliconMember', window );">Acquisition of Chilicon [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill', window );">Business Acquisition, Purchase Price Allocation, Intangible Assets Including Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 70,174<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, Ending Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">36,974<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business Combination, Consideration Transferred, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 61,129<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfOffGridEnergyMember', window );">Acquisition of Off Grid Energy [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 56,949<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill', window );">Business Acquisition, Purchase Price Allocation, Intangible Assets Including Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">56,076<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, Ending Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21,531<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Business Combination, Contingent Consideration, Liability, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 29,054<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment for Contingent Consideration Liability, Financing Activities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 16,135<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,135<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_EcobeeIncMember', window );">ecobee Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">735,577<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill', window );">Business Acquisition, Purchase Price Allocation, Intangible Assets Including Goodwill</a></td>
<td class="nump">$ 806,131<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, Ending Balance</a></td>
<td class="nump">248,231<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 248,231<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">248,231<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business Combination, Consideration Transferred, Total</a></td>
<td class="nump">$ 735,577<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment for Contingent Consideration Liability, Financing Activities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">542<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">542<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_ContingentConsiderationSharePaymentsValue', window );">Contingent Consideration, Share Payments, Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 47,123<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">47,123<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_ContingentConsiderationSharePaymentShares', window );">Contingent Consideration, Share Payment, Shares (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">196,531<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_EcobeeIncMember', window );">ecobee Inc. [Member] | Forecast [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_ContingentConsiderationSharePaymentsValue', window );">Contingent Consideration, Share Payments, Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 45,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_ContingentConsiderationSharePaymentShares', window );">Contingent Consideration, Share Payment, Shares (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">466,188<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_Other2021AcquisitionsMember', window );">Other 2021 Acquisitions [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">29,945<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfEnbalaMember', window );">Acquisition of Enbala [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 41,982<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill', window );">Business Acquisition, Purchase Price Allocation, Intangible Assets Including Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">46,338<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, Ending Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 27,038<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_Other2020AcquisitionsMember', window );">Other 2020 Acquisitions [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 22,958<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_AllAcquisitionsMember', window );">All Acquisitions [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_ProformaAmortizationOfIntangibleAssets', window );">Proforma Amortization of Intangible Assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 941,000<span></span>
</td>
<td class="nump">$ 68,247,000<span></span>
</td>
<td class="nump">$ 84,151,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of acquisition cost of a business combination allocated to an identifiable intangible asset including goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_ContingentConsiderationSharePaymentShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of shares in a share payment for contingent consideration.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_ContingentConsiderationSharePaymentShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_ContingentConsiderationSharePaymentsValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of share payments for contingent consideration.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_ContingentConsiderationSharePaymentsValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_ProformaAmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of proforma amortization of intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_ProformaAmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e6927-128479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e6927-128479<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126966325&amp;loc=d3e6819-128478<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_EECAndBluePillarMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_EECAndBluePillarMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfDeepSeaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfDeepSeaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfChiliconMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfChiliconMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfOffGridEnergyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfOffGridEnergyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_EcobeeIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_EcobeeIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=srt_ScenarioForecastMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=srt_ScenarioForecastMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_Other2021AcquisitionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_Other2021AcquisitionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfEnbalaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfEnbalaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_Other2020AcquisitionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_Other2020AcquisitionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_AllAcquisitionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_AllAcquisitionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364765872464">
<tr>
<th class="tl" colspan="2" rowspan="1"><div style="width: 200px;"><strong>Note 3 - Acquisitions - The Combined Fair Value of the Consideration Transferred for These Acquisitions (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 01, 2021</div></th>
<th class="th"><div>Jul. 02, 2021</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfChiliconMember', window );">Acquisition of Chilicon [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash paid at closing</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11,821<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_PaymentsToAcquireBusinessesDeferredCashPayment', window );">Deferred cash payment (1)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Common stock issued at closing</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Contingent consideration (2)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31,308<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Total purchase price</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 61,129<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_EcobeeIncMember', window );">ecobee Inc. [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash paid at closing</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 225,403<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Common stock issued at closing</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">420,774<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Contingent consideration (2)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="nump">89,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Total purchase price</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 735,577<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">Payable on the third business day after December 31, 2023.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top">Payable in common stock issued upon achievement of certain performance targets within 45 calendar days following the conclusion of the earnout period, December 31, 2025.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[3]</td>
<td style="vertical-align: top;" valign="top">To be paid in the form of common stock issued upon achievement of certain performance targets following the end of two earnout periods, one ended June 30, 2022, and one originally ending June 30, 2023.</td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_PaymentsToAcquireBusinessesDeferredCashPayment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The deferred cash outflow associated with the acquisition of business during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_PaymentsToAcquireBusinessesDeferredCashPayment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e6927-128479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6578-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6405-128476<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e6927-128479<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6613-128477<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e6927-128479<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfChiliconMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfChiliconMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_EcobeeIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_EcobeeIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364748715792">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 3 - Acquisitions - Preliminary Price Allocation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 01, 2021</div></th>
<th class="th"><div>Jun. 01, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 1,400,880<span></span>
</td>
<td class="nump">$ 1,409,674<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 855,228<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_The2022AcquisitionsMember', window );">The 2022 Acquisitions [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="nump">12,656<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventories</a></td>
<td class="nump">3,138<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">4,707<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="nump">708<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Intangible assets</a></td>
<td class="nump">8,711<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">6,870<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets', window );">Deferred income taxes</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets', window );">Other assets</a></td>
<td class="nump">1,953<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill', window );">Total assets acquired</a></td>
<td class="nump">38,743<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="nump">1,479<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits', window );">Accrued wages and employee benefits</a></td>
<td class="nump">1,429<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther', window );">Other accrued liabilities</a></td>
<td class="nump">7,934<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings', window );">Short-term borrowings</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt', window );">Current portion of long-term borrowings and finance lease obligations</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred income taxes liability</a></td>
<td class="nump">1,090<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther', window );">Other long-term liabilities</a></td>
<td class="nump">1,157<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt', window );">Long-term debt</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Net assets acquired</a></td>
<td class="nump">$ 25,654<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfDeepSeaMember', window );">Acquisition of Deep Sea [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,574<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventories</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,970<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,181<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,838<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">174,270<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">263,604<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 263,604<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets', window );">Deferred income taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets', window );">Other assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">151<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill', window );">Total assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">467,588<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,998<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits', window );">Accrued wages and employee benefits</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,106<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther', window );">Other accrued liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,737<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings', window );">Short-term borrowings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt', window );">Current portion of long-term borrowings and finance lease obligations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred income taxes liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33,957<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther', window );">Other long-term liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">90<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt', window );">Long-term debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Net assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">420,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_EcobeeIncMember', window );">ecobee Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">23,337<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventories</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,258<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,689<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,588<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">557,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">248,231<span></span>
</td>
<td class="nump">$ 248,231<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets', window );">Deferred income taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">40,020<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets', window );">Other assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,289<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill', window );">Total assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">895,312<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25,968<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits', window );">Accrued wages and employee benefits</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,354<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther', window );">Other accrued liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19,898<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings', window );">Short-term borrowings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt', window );">Current portion of long-term borrowings and finance lease obligations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred income taxes liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">78,753<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther', window );">Other long-term liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33,762<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt', window );">Long-term debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Net assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">735,577<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_AllOther2021AcquisitionsMember', window );">All Other 2021 Acquisitions [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13,852<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventories</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,034<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,594<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">480<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">81,171<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">83,859<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets', window );">Deferred income taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,694<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets', window );">Other assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,526<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill', window );">Total assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">207,210<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,473<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits', window );">Accrued wages and employee benefits</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">872<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther', window );">Other accrued liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,258<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings', window );">Short-term borrowings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt', window );">Current portion of long-term borrowings and finance lease obligations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">233<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred income taxes liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19,930<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther', window );">Other long-term liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,997<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt', window );">Long-term debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,624<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Net assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">148,023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_The2021AcquisitionsMember', window );">The 2021 Acquisitions [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">46,763<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventories</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">24,262<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13,464<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,906<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">813,341<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">595,694<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets', window );">Deferred income taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">45,714<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets', window );">Other assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,966<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill', window );">Total assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,570,110<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">42,439<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits', window );">Accrued wages and employee benefits</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,332<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther', window );">Other accrued liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">39,893<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings', window );">Short-term borrowings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt', window );">Current portion of long-term borrowings and finance lease obligations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">233<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred income taxes liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">132,640<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther', window );">Other long-term liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">43,849<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt', window );">Long-term debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,624<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Net assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,304,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_The2020AcquisitionsMember', window );">The 2020 Acquisitions [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,094<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventories</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,575<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">858<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">635<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,235<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">40,395<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets', window );">Deferred income taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets', window );">Other assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,122<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill', window );">Total assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">77,914<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,088<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits', window );">Accrued wages and employee benefits</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">700<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther', window );">Other accrued liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,151<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings', window );">Short-term borrowings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt', window );">Current portion of long-term borrowings and finance lease obligations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred income taxes liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,827<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther', window );">Other long-term liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,208<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt', window );">Long-term debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Net assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 64,940<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the total assets acquired from a business combination which includes identifiable assets acquired and liabilities assumed assets, including goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accrued wages and employee benefits due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term borrowing expected to be recognized as such within one year or the normal operating cycle, if longer, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of other liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax asset attributable to deductible temporary differences and carryforwards acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of intangible assets, excluding goodwill, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of inventory recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI https://asc.fasb.org/extlink&amp;oid=123455525&amp;loc=d3e2207-128464<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt due after one year or the normal operating cycle, if longer, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of other liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of property, plant, and equipment recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI https://asc.fasb.org/extlink&amp;oid=123455525&amp;loc=d3e2207-128464<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092470&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_The2022AcquisitionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_The2022AcquisitionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfDeepSeaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_AcquisitionOfDeepSeaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_EcobeeIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_EcobeeIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_AllOther2021AcquisitionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_AllOther2021AcquisitionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_The2021AcquisitionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_The2021AcquisitionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_The2020AcquisitionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_The2020AcquisitionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364756571840">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Acquisitions - Unaudited Pro Forma Information (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 1,049,232<span></span>
</td>
<td class="nump">$ 1,088,258<span></span>
</td>
<td class="nump">$ 1,291,391<span></span>
</td>
<td class="nump">$ 1,135,856<span></span>
</td>
<td class="nump">$ 1,067,071<span></span>
</td>
<td class="nump">$ 942,698<span></span>
</td>
<td class="nump">$ 919,981<span></span>
</td>
<td class="nump">$ 807,434<span></span>
</td>
<td class="nump">$ 4,564,737<span></span>
</td>
<td class="nump">$ 3,737,184<span></span>
</td>
<td class="nump">$ 2,485,200<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">As reported</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 71,015<span></span>
</td>
<td class="nump">$ 58,270<span></span>
</td>
<td class="nump">$ 156,359<span></span>
</td>
<td class="nump">$ 113,858<span></span>
</td>
<td class="nump">$ 142,895<span></span>
</td>
<td class="nump">$ 131,570<span></span>
</td>
<td class="nump">$ 127,036<span></span>
</td>
<td class="nump">$ 148,993<span></span>
</td>
<td class="nump">$ 399,502<span></span>
</td>
<td class="nump">$ 550,494<span></span>
</td>
<td class="nump">$ 350,576<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">As reported (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 0.83<span></span>
</td>
<td class="nump">$ 0.83<span></span>
</td>
<td class="nump">$ 2.21<span></span>
</td>
<td class="nump">$ 1.57<span></span>
</td>
<td class="nump">$ 2.04<span></span>
</td>
<td class="nump">$ 1.93<span></span>
</td>
<td class="nump">$ 2.01<span></span>
</td>
<td class="nump">$ 2.33<span></span>
</td>
<td class="nump">$ 5.42<span></span>
</td>
<td class="nump">$ 8.30<span></span>
</td>
<td class="nump">$ 5.48<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementScenarioAxis=srt_ProFormaMember', window );">Pro Forma [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,593,485<span></span>
</td>
<td class="nump">$ 3,932,250<span></span>
</td>
<td class="nump">$ 2,764,363<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">As reported</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 402,670<span></span>
</td>
<td class="nump">$ 462,903<span></span>
</td>
<td class="nump">$ 267,376<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">As reported (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5.47<span></span>
</td>
<td class="nump">$ 6.94<span></span>
</td>
<td class="nump">$ 4.11<span></span>
</td>
</tr>
<tr><td colspan="12"></td></tr>
<tr><td colspan="12"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">Includes additional intangible amortization from the effect of all acquisitions as though the transactions had occurred on January 1, 2019 of $63,524, $78,840, and
$83,100 million for the years ended December 31, 2021, 2020, and 2019, respectively</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=srt_ProFormaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=srt_ProFormaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364748698256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Redeemable Noncontrolling Interest (Details Textual) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="4">1 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Feb. 01, 2019</div></th>
<th class="th"><div>May 31, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>May 31, 2021</div></th>
<th class="th"><div>Feb. 28, 2019</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Mar. 01, 2016</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest', window );">Payments for Repurchase of Redeemable Noncontrolling Interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 375<span></span>
</td>
<td class="nump">$ 27,164<span></span>
</td>
<td class="nump">$ (0)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_OwnershipAxis=gnrc_PramacMember', window );">Pramac [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners', window );">Noncontrolling Interest, Ownership Percentage by Noncontrolling Owners</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_OwnershipAxis=gnrc_CaptivaEnergySolutionsMember', window );">Captiva Energy Solutions [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners', window );">Noncontrolling Interest, Ownership Percentage by Noncontrolling Owners</a></td>
<td class="nump">49.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">34.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_PramacMember', window );">Pramac [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired', window );">Business Acquisition, Percentage of Voting Interests Acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">65.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RedeemableNoncontrollingInterestEquityFairValue', window );">Redeemable Noncontrolling Interest, Equity, Fair Value, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 34,253<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_NoncontrollingInterestAgreementExtensionOfTerm', window );">Noncontrolling Interest Agreement, Extension of Term (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest', window );">Payments for Repurchase of Redeemable Noncontrolling Interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 27,164<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage', window );">Business Combination, Step Acquisition, Equity Interest in Acquiree, including Subsequent Acquisition, Percentage, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=gnrc_CaptivaEnergySolutionsMember', window );">Captiva Energy Solutions [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired', window );">Business Acquisition, Percentage of Voting Interests Acquired</a></td>
<td class="nump">51.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RedeemableNoncontrollingInterestEquityFairValue', window );">Redeemable Noncontrolling Interest, Equity, Fair Value, Total</a></td>
<td class="nump">$ 3,165<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest', window );">Payments for Repurchase of Redeemable Noncontrolling Interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 375<span></span>
</td>
<td class="nump">$ 461<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage', window );">Business Combination, Step Acquisition, Equity Interest in Acquiree, including Subsequent Acquisition, Percentage, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">66.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessAcquisitionNoncontrollingInterestTermOfPutOption', window );">Business Acquisition, Noncontrolling Interest, Term of Put Option (Year)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessAcquisitionTermOfCallOption', window );">Business Acquisition, Term of Call Option (Year)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_BusinessAcquisitionNoncontrollingInterestTermOfPutOption">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The term of a put option available to the noncontrolling interest of a business acquired by the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_BusinessAcquisitionNoncontrollingInterestTermOfPutOption</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_BusinessAcquisitionTermOfCallOption">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The term of call option available to the company in a business acquisition transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_BusinessAcquisitionTermOfCallOption</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_NoncontrollingInterestAgreementExtensionOfTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The extension of the term in the noncontrolling interest agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_NoncontrollingInterestAgreementExtensionOfTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of voting equity interests acquired at the acquisition date in the business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of voting equity interests acquired in a business combination achieved in stages, including equity interests in the acquiree held by the acquirer immediately before the acquisition date and acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The equity interest of noncontrolling shareholders, partners or other equity holders in consolidated entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow during the period for redemption of redeemable noncontrolling interests.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RedeemableNoncontrollingInterestEquityFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate fair value as of the reporting date of all noncontrolling interests which are redeemable by the (parent) entity (1) at a fixed or determinable price on a fixed or determinable date, (2) at the option of the holder of the noncontrolling interest, or (3) upon occurrence of an event that is not solely within the control of the (parent) entity. This item includes noncontrolling interest holder's ownership (or holders' ownership) regardless of the type of equity interest (common, preferred, other) including all potential organizational (legal) forms of the investee entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=122040564&amp;loc=SL6540498-122764<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph (16)(c)<br> -URI https://asc.fasb.org/extlink&amp;oid=122040564&amp;loc=SL6540498-122764<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph (12)(c)<br> -URI https://asc.fasb.org/extlink&amp;oid=122040564&amp;loc=SL6540498-122764<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=122040564&amp;loc=SL6540498-122764<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RedeemableNoncontrollingInterestEquityFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_OwnershipAxis=gnrc_PramacMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_OwnershipAxis=gnrc_PramacMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_OwnershipAxis=gnrc_CaptivaEnergySolutionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_OwnershipAxis=gnrc_CaptivaEnergySolutionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_PramacMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_PramacMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=gnrc_CaptivaEnergySolutionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=gnrc_CaptivaEnergySolutionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364765684384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Redeemable Noncontrolling Interest - Redeemable Noncontrolling Interest (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestChangeInRedemptionValue', window );">Redemption value adjustment</a></td>
<td class="num">$ (49,235)<span></span>
</td>
<td class="num">$ (17,102)<span></span>
</td>
<td class="num">$ (1,247)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=gnrc_RedeemableNoncontrollingInterestMember', window );">Redeemable Noncontrolling Interest [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests', window );">Balance</a></td>
<td class="nump">58,050<span></span>
</td>
<td class="nump">66,207<span></span>
</td>
<td class="nump">61,227<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TemporaryEquityNetIncome', window );">Share of net income (loss)</a></td>
<td class="nump">7,543<span></span>
</td>
<td class="nump">5,574<span></span>
</td>
<td class="num">(2,829)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments', window );">Foreign currency translation</a></td>
<td class="num">(3,982)<span></span>
</td>
<td class="num">(3,669)<span></span>
</td>
<td class="nump">6,562<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromRedemptions', window );">Purchase of additional ownership interest</a></td>
<td class="num">(375)<span></span>
</td>
<td class="num">(27,164)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestChangeInRedemptionValue', window );">Redemption value adjustment</a></td>
<td class="nump">49,235<span></span>
</td>
<td class="nump">17,102<span></span>
</td>
<td class="nump">1,247<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests', window );">Balance</a></td>
<td class="nump">$ 110,471<span></span>
</td>
<td class="nump">$ 58,050<span></span>
</td>
<td class="nump">$ 66,207<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterestChangeInRedemptionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Change in noncontrolling interest during the period as a result of a change in the redemption value of redeemable noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=122040564&amp;loc=SL6540498-122764<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph 16(c)<br> -URI https://asc.fasb.org/extlink&amp;oid=122040564&amp;loc=SL6540498-122764<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=122040564&amp;loc=SL6540498-122764<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestChangeInRedemptionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterestDecreaseFromRedemptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Decrease in noncontrolling interest (for example, but not limited to, redeeming or purchasing the interests of noncontrolling shareholders, issuance of shares (interests) by the non-wholly owned subsidiary to the parent entity for other than cash, and a buyback of shares (interest) by the non-wholly owned subsidiary from the noncontrolling interests).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569655-111683<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4616395-111683<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestDecreaseFromRedemptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, attributable to parent and noncontrolling interests, of an entity's issued and outstanding stock which is not included within permanent equity. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. Includes stock with a put option held by an ESOP and stock redeemable by a holder only in the event of a change in control of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.27(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Adjustments to temporary equity resulting from foreign currency translation adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TemporaryEquityNetIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of net income or loss attributable to temporary equity interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TemporaryEquityNetIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=gnrc_RedeemableNoncontrollingInterestMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=gnrc_RedeemableNoncontrollingInterestMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364749362704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 5 - Derivative Instruments and Hedging Activities (Details Textual)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="4">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeGainLossOnDerivativeNet', window );">Derivative, Gain (Loss) on Derivative, Net, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 579<span></span>
</td>
<td class="num">$ (416)<span></span>
</td>
<td class="nump">$ 355<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">38,494<span></span>
</td>
<td class="nump">20,529<span></span>
</td>
<td class="num">(14,285)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk', window );">Derivative Assets (Liabilities), Net Fair Value of Derivative Contracts, Excluding Impact of Credit Risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 51,184<span></span>
</td>
<td class="num">$ (2,148)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_CommodityContractMember', window );">Commodity Contract [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeNumberOfInstrumentsHeld', window );">Derivative, Number of Instruments Held, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_CommodityContractMember', window );">Commodity Contract [Member] | Not Designated as Hedging Instrument [Member] | Cost of Sales [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeGainLossOnDerivativeNet', window );">Derivative, Gain (Loss) on Derivative, Net, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 29<span></span>
</td>
<td class="nump">$ 613<span></span>
</td>
<td class="nump">2,185<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeContractMember', window );">Foreign Exchange Contract [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeNumberOfInstrumentsHeld', window );">Derivative, Number of Instruments Held, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">34<span></span>
</td>
<td class="nump">11<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember', window );">Interest Rate Swap [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_NumberOfNewContractsEntered', window );">Number of New Contracts Entered</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 38,494<span></span>
</td>
<td class="nump">$ 20,529<span></span>
</td>
<td class="num">$ (14,285)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the fair value of derivative contracts excluding impact of credit risk.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_NumberOfNewContractsEntered">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of new contracts entered into during the period mentioned.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_NumberOfNewContractsEntered</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeGainLossOnDerivativeNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the fair value of derivatives recognized in the income statement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5618551-113959<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeGainLossOnDerivativeNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeNumberOfInstrumentsHeld">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of derivative instruments of a particular group held by the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5579245-113959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5580258-113959<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeNumberOfInstrumentsHeld</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_CommodityContractMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_CommodityContractMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeContractMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeContractMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364753002864">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 5 - Derivative Instruments and Hedging Activities - Fair Value of Derivatives (Details) - Fair Value, Inputs, Level 2 [Member] - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Foreign Exchange Contract [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeNet', window );">Fair Value of Derivatives</a></td>
<td class="nump">$ 94<span></span>
</td>
<td class="num">$ (36)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Interest Rate Swap [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeNet', window );">Fair Value of Derivatives</a></td>
<td class="nump">$ 49,279<span></span>
</td>
<td class="num">$ (2,074)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeFairValueOfDerivativeNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of the assets less the liabilities of a derivative or group of derivatives.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13433-108611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeFairValueOfDerivativeNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeContractMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeContractMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364758234624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Accumulated Other Comprehensive Loss (Details Textual) - Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member] - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax', window );">Other Comprehensive Income (Loss), before Reclassifications, before Tax</a></td>
<td class="nump">$ 51,352<span></span>
</td>
<td class="nump">$ 27,462<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax', window );">Other Comprehensive Income (Loss) before Reclassifications, Tax, Total</a></td>
<td class="num">$ (12,858)<span></span>
</td>
<td class="num">$ (6,933)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before tax and reclassification adjustments of other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442407-227067<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669686-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit) allocated to other comprehensive income (loss) before reclassification adjustment from accumulated other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442407-227067<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e640-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364756455088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Accumulated Other Comprehensive Loss - Disclosure of Changes in Accumulated Other Comprehensive Loss (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="5">12 Months Ended</th>
</tr>
<tr>
<th class="th" colspan="2"><div>Dec. 31, 2022</div></th>
<th class="th" colspan="2"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance</a></td>
<td class="nump">$ 2,214,087<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 1,390,204<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 1,032,851<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax', window );">Net current-period other comprehensive income (loss)</a></td>
<td class="num">(10,347)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(20,501)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(9,337)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance</a></td>
<td class="nump">2,259,255<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">2,214,087<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">1,390,204<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember', window );">Accumulated Foreign Currency Adjustment Attributable to Parent [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance</a></td>
<td class="num">(52,704)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(11,674)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Other comprehensive income (loss) before reclassifications</a></td>
<td class="num">(48,841)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="num">(41,030)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax', window );">Net current-period other comprehensive income (loss)</a></td>
<td class="num">(48,841)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(41,030)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance</a></td>
<td class="num">(101,545)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(52,704)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(11,674)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember', window );">Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance</a></td>
<td class="num">(2,051)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(22,580)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Other comprehensive income (loss) before reclassifications</a></td>
<td class="nump">38,494<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="nump">20,529<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[4]</sup></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax', window );">Net current-period other comprehensive income (loss)</a></td>
<td class="nump">38,494<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">20,529<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance</a></td>
<td class="nump">36,443<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(2,051)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(22,580)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember', window );">AOCI Attributable to Parent [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance</a></td>
<td class="num">(54,755)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(34,254)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(24,917)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Other comprehensive income (loss) before reclassifications</a></td>
<td class="num">(10,347)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(20,501)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax', window );">Amounts reclassified from AOCL</a></td>
<td class="nump">0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax', window );">Net current-period other comprehensive income (loss)</a></td>
<td class="num">(10,347)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(20,501)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance</a></td>
<td class="num">$ (65,102)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">$ (54,755)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">$ (34,254)<span></span>
</td>
</tr>
<tr><td colspan="6"></td></tr>
<tr><td colspan="6"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">Represents unfavorable impact from the strengthening of the U.S. dollar against foreign currencies during the year ended December 31, 2022, particularly the Euro and British Pound.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top">Represents unfavorable impact from the strengthening of the U.S. dollar against foreign currencies during the year ended December 31, 2021, particularly the Euro and British Pound.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[3]</td>
<td style="vertical-align: top;" valign="top">Represents unrealized gains of $51,352 on the interest rate swaps, net of tax effect of $(12,858) for the year ended December 31, 2022.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[4]</td>
<td style="vertical-align: top;" valign="top">Represents unrealized gains of $27,462 on the interest rate swaps, net of tax effect of $(6,933) for the year ended December 31, 2021.</td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax, before reclassification adjustments of other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669686-108580<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=124507222&amp;loc=d3e1436-108581<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442407-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442407-227067<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=124507222&amp;loc=d3e1436-108581<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of reclassification adjustments of other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669686-108580<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=124507222&amp;loc=d3e1436-108581<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442407-227067<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21930-107793<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21914-107793<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568740-111683<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21711-107793<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4590271-111686<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 25: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568447-111683<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364756541136">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Segment Reporting (Details Textual)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Sep. 30, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of Reportable Segments</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Accounts Receivable, Credit Loss Expense (Reversal)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,966<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_StandardProductWarrantyAccrualWarrantyProvision', window );">Standard Product Warranty Accrual, Warranty Provision</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 37,338<span></span>
</td>
<td class="nump">37,338<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForOtherLosses', window );">Provision for Other Losses</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_GeographicConcentrationRiskMember', window );">Geographic Concentration Risk [Member] | Revenue Benchmark [Member] | UNITED STATES</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80.00%<span></span>
</td>
<td class="nump">82.00%<span></span>
</td>
<td class="nump">82.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_GeographicConcentrationRiskMember', window );">Geographic Concentration Risk [Member] | Net Assets, Geographic Area [Member] | UNITED STATES</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">77.00%<span></span>
</td>
<td class="nump">75.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=gnrc_CleanEnergyProductMember', window );">Clean Energy Product [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Accounts Receivable, Credit Loss Expense (Reversal)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 17,926<span></span>
</td>
<td class="nump">$ 17,926<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr><td colspan="5"></td></tr>
<tr><td colspan="5"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">Includes a specific credit loss provision of $17,926 recorded during the third quarter of 2022 for a clean energy product customer that filed for bankruptcy.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_StandardProductWarrantyAccrualWarrantyProvision">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of warranty provision for standard product warranty accrual.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_StandardProductWarrantyAccrualWarrantyProvision</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13531-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13537-108611<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8672-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForOtherLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense related to other loss.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(14))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForOtherLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_GeographicConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_GeographicConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_NetAssetsGeographicAreaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_NetAssetsGeographicAreaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=gnrc_CleanEnergyProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=gnrc_CleanEnergyProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364753056800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Segment Reporting - Net Sales by Products and Services (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 1,049,232<span></span>
</td>
<td class="nump">$ 1,088,258<span></span>
</td>
<td class="nump">$ 1,291,391<span></span>
</td>
<td class="nump">$ 1,135,856<span></span>
</td>
<td class="nump">$ 1,067,071<span></span>
</td>
<td class="nump">$ 942,698<span></span>
</td>
<td class="nump">$ 919,981<span></span>
</td>
<td class="nump">$ 807,434<span></span>
</td>
<td class="nump">$ 4,564,737<span></span>
</td>
<td class="nump">$ 3,737,184<span></span>
</td>
<td class="nump">$ 2,485,200<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_DomesticMember', window );">Domestic [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,867,866<span></span>
</td>
<td class="nump">3,164,050<span></span>
</td>
<td class="nump">2,088,808<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_InternationalMember', window );">International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">696,871<span></span>
</td>
<td class="nump">573,134<span></span>
</td>
<td class="nump">396,392<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=gnrc_ResidentialPowerProductsMember', window );">Residential Power Products [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,911,871<span></span>
</td>
<td class="nump">2,456,765<span></span>
</td>
<td class="nump">1,556,501<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=gnrc_ResidentialPowerProductsMember', window );">Residential Power Products [Member] | Domestic [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,782,037<span></span>
</td>
<td class="nump">2,366,908<span></span>
</td>
<td class="nump">1,495,383<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=gnrc_ResidentialPowerProductsMember', window );">Residential Power Products [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">129,834<span></span>
</td>
<td class="nump">89,857<span></span>
</td>
<td class="nump">61,118<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=gnrc_CommercialAndIndustrialPowerProductsMember', window );">Commercial and Industrial Power Products [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,260,737<span></span>
</td>
<td class="nump">998,998<span></span>
</td>
<td class="nump">701,751<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=gnrc_CommercialAndIndustrialPowerProductsMember', window );">Commercial and Industrial Power Products [Member] | Domestic [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">746,172<span></span>
</td>
<td class="nump">556,520<span></span>
</td>
<td class="nump">404,867<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=gnrc_CommercialAndIndustrialPowerProductsMember', window );">Commercial and Industrial Power Products [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">514,565<span></span>
</td>
<td class="nump">442,478<span></span>
</td>
<td class="nump">296,884<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=gnrc_OtherProductsAndServicesMember', window );">Other Products and Services [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">392,129<span></span>
</td>
<td class="nump">281,421<span></span>
</td>
<td class="nump">226,948<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=gnrc_OtherProductsAndServicesMember', window );">Other Products and Services [Member] | Domestic [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">339,657<span></span>
</td>
<td class="nump">240,622<span></span>
</td>
<td class="nump">188,558<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=gnrc_OtherProductsAndServicesMember', window );">Other Products and Services [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 52,472<span></span>
</td>
<td class="nump">$ 40,799<span></span>
</td>
<td class="nump">$ 38,390<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_DomesticMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=gnrc_DomesticMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_InternationalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=gnrc_InternationalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=gnrc_ResidentialPowerProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=gnrc_ResidentialPowerProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=gnrc_CommercialAndIndustrialPowerProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=gnrc_CommercialAndIndustrialPowerProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=gnrc_OtherProductsAndServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=gnrc_OtherProductsAndServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364751001872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Segment Reporting - Total Sales by Reportable Segment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total sales</a></td>
<td class="nump">$ 1,049,232<span></span>
</td>
<td class="nump">$ 1,088,258<span></span>
</td>
<td class="nump">$ 1,291,391<span></span>
</td>
<td class="nump">$ 1,135,856<span></span>
</td>
<td class="nump">$ 1,067,071<span></span>
</td>
<td class="nump">$ 942,698<span></span>
</td>
<td class="nump">$ 919,981<span></span>
</td>
<td class="nump">$ 807,434<span></span>
</td>
<td class="nump">$ 4,564,737<span></span>
</td>
<td class="nump">$ 3,737,184<span></span>
</td>
<td class="nump">$ 2,485,200<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=gnrc_ExternalNetSalesMember', window );">External Net Sales [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,564,737<span></span>
</td>
<td class="nump">3,737,184<span></span>
</td>
<td class="nump">2,485,200<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=gnrc_IntersegmentSalesMember', window );">Intersegment Sales [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember', window );">Intersegment Eliminations [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(154,430)<span></span>
</td>
<td class="num">(65,462)<span></span>
</td>
<td class="num">(15,154)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember', window );">Intersegment Eliminations [Member] | External Net Sales [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember', window );">Intersegment Eliminations [Member] | Intersegment Sales [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(154,430)<span></span>
</td>
<td class="num">(65,462)<span></span>
</td>
<td class="num">(15,154)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_DomesticMember', window );">Domestic [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,867,866<span></span>
</td>
<td class="nump">3,164,050<span></span>
</td>
<td class="nump">2,088,808<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_DomesticMember', window );">Domestic [Member] | Operating Segments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,928,597<span></span>
</td>
<td class="nump">3,203,389<span></span>
</td>
<td class="nump">2,102,313<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_DomesticMember', window );">Domestic [Member] | Operating Segments [Member] | External Net Sales [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,867,866<span></span>
</td>
<td class="nump">3,164,050<span></span>
</td>
<td class="nump">2,088,808<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_DomesticMember', window );">Domestic [Member] | Operating Segments [Member] | Intersegment Sales [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">60,731<span></span>
</td>
<td class="nump">39,339<span></span>
</td>
<td class="nump">13,505<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_InternationalMember', window );">International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">696,871<span></span>
</td>
<td class="nump">573,134<span></span>
</td>
<td class="nump">396,392<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_InternationalMember', window );">International [Member] | Operating Segments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">790,570<span></span>
</td>
<td class="nump">599,257<span></span>
</td>
<td class="nump">398,041<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_InternationalMember', window );">International [Member] | Operating Segments [Member] | External Net Sales [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">696,871<span></span>
</td>
<td class="nump">573,134<span></span>
</td>
<td class="nump">396,392<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_InternationalMember', window );">International [Member] | Operating Segments [Member] | Intersegment Sales [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 93,699<span></span>
</td>
<td class="nump">$ 26,123<span></span>
</td>
<td class="nump">$ 1,649<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=gnrc_ExternalNetSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=gnrc_ExternalNetSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=gnrc_IntersegmentSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=gnrc_IntersegmentSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_DomesticMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=gnrc_DomesticMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_InternationalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=gnrc_InternationalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364756565824">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Segment Reporting - Segment Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_AdjustedEBITDA', window );">Total adjusted EBITDA</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 825,367<span></span>
</td>
<td class="nump">$ 861,425<span></span>
</td>
<td class="nump">$ 583,773<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(54,826)<span></span>
</td>
<td class="num">(32,953)<span></span>
</td>
<td class="num">(32,991)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(156,141)<span></span>
</td>
<td class="num">(92,041)<span></span>
</td>
<td class="num">(68,773)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_NoncashWritedownAndOtherAdjustments', window );">Non-cash write-down and other adjustments</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">2,091<span></span>
</td>
<td class="nump">3,070<span></span>
</td>
<td class="nump">327<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Non-cash share-based compensation expense</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="num">(29,481)<span></span>
</td>
<td class="num">(23,954)<span></span>
</td>
<td class="num">(20,882)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="num">(3,743)<span></span>
</td>
<td class="num">(831)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_TransactionCostsAndCredityFaciltyFees', window );">Transaction costs and credit facility fees</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[4]</sup></td>
<td class="num">(5,026)<span></span>
</td>
<td class="num">(22,357)<span></span>
</td>
<td class="num">(2,151)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_BusinessOptimizationExpense', window );">Business optimization and other charges</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[5]</sup></td>
<td class="num">(4,371)<span></span>
</td>
<td class="num">(33)<span></span>
</td>
<td class="num">(12,158)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_ProvisionForProductCharges', window );">Provision for regulatory and clean energy product charges (6)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[6]</sup></td>
<td class="num">(65,265)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_Other', window );">Other</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(139)<span></span>
</td>
<td class="num">(800)<span></span>
</td>
<td class="num">(954)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">508,466<span></span>
</td>
<td class="nump">691,526<span></span>
</td>
<td class="nump">446,191<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">5,169,462<span></span>
</td>
<td class="nump">4,877,780<span></span>
</td>
<td class="nump">3,235,423<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation', window );">Depreciation and Amortization</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">156,141<span></span>
</td>
<td class="nump">92,041<span></span>
</td>
<td class="nump">68,773<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">86,188<span></span>
</td>
<td class="nump">109,992<span></span>
</td>
<td class="nump">62,128<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_DomesticMember', window );">Domestic [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_AdjustedEBITDA', window );">Total adjusted EBITDA</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">716,302<span></span>
</td>
<td class="nump">795,417<span></span>
</td>
<td class="nump">563,394<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">4,032,086<span></span>
</td>
<td class="nump">3,742,101<span></span>
</td>
<td class="nump">2,659,597<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation', window );">Depreciation and Amortization</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">123,768<span></span>
</td>
<td class="nump">66,675<span></span>
</td>
<td class="nump">53,020<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">69,680<span></span>
</td>
<td class="nump">100,672<span></span>
</td>
<td class="nump">51,867<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_InternationalMember', window );">International [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_AdjustedEBITDA', window );">Total adjusted EBITDA</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">109,065<span></span>
</td>
<td class="nump">66,008<span></span>
</td>
<td class="nump">20,379<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,137,376<span></span>
</td>
<td class="nump">1,135,679<span></span>
</td>
<td class="nump">575,826<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation', window );">Depreciation and Amortization</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">32,373<span></span>
</td>
<td class="nump">25,366<span></span>
</td>
<td class="nump">15,753<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 16,508<span></span>
</td>
<td class="nump">$ 9,320<span></span>
</td>
<td class="nump">$ 10,261<span></span>
</td>
</tr>
<tr><td colspan="4"></td></tr>
<tr><td colspan="4"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">Includes gains/losses on disposals of assets and sales of certain investments, unrealized mark-to-market adjustments on commodity contracts, certain foreign currency related adjustments, and certain purchase accounting and contingent consideration adjustments.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top">Represents share-based compensation expense to account for stock options, restricted stock and other stock awards over their respective vesting periods.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[3]</td>
<td style="vertical-align: top;" valign="top">Represents the non-cash write-off of original issue discount and deferred financing costs due primarily to a voluntary prepayment of debt.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[4]</td>
<td style="vertical-align: top;" valign="top">Represents transaction costs incurred directly in connection with any investment, as defined in our credit agreement, equity issuance, debt issuance, or refinancing, together with certain fees relating to our senior secured credit facilities.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[5]</td>
<td style="vertical-align: top;" valign="top">For the year-ended December 31, 2022, predominantly represents severance and other restructuring charges related to the suspension of operations at certain of our facilities. For the year-ended December 31, 2020, represents severance, non-cash asset write-downs and other charges to address the impact of the COVID-19 pandemic and decline in oil prices on demand for C&amp;I products. These charges represent expenses that are nonrecurring and do not reflect our ongoing operations.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[6]</td>
<td style="vertical-align: top;" valign="top">Represents a specific credit loss provision of $17,926 for a clean energy product customer that filed for bankruptcy, as well as a warranty provision of $37,338 to address certain clean energy product warranty-related matters and a provision of $10,000 for a specific and unresolved regulatory matter with the Consumer Product Safety Commission.</td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_AdjustedEBITDA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents net income before interest expense, taxes, depreciation and amortization, as further adjusted for other non-cash items</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_AdjustedEBITDA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_BusinessOptimizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents charges relating to business optimization and restructuring costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_BusinessOptimizationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets. Amount includes additional accelerated depreciation recognized in the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_NoncashWritedownAndOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents information about non-cash write-down and other adjustments. Includes gains/losses on disposal of assets, unrealized mark-to-market adjustments on commodity contracts, and certain foreign currency and purchase accounting related adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_NoncashWritedownAndOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_Other">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents other non-cash items that are not categorized separately.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_Other</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_ProvisionForProductCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents a specific credit loss provision for a clean energy product customer that filed for bankruptcy, as well as a warranty provision to address certain clean energy product warranty-related matters</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_ProvisionForProductCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_TransactionCostsAndCredityFaciltyFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents transaction costs incurred directly in connection with any investment, as defined in our credit agreement; equity issuance, debt issuance or refinancing; together with certain fees relating to our senior secured credit facilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_TransactionCostsAndCredityFaciltyFees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126972273&amp;loc=d3e12355-112629<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126972273&amp;loc=d3e12317-112629<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnExtinguishmentOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941158&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_DomesticMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=gnrc_DomesticMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_InternationalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=gnrc_InternationalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364855448112">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 8 - Balance Sheet Details (Details Textual) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment', window );">Other Inventory, Materials, Supplies and Merchandise under Consignment, Gross</a></td>
<td class="nump">$ 17,914<span></span>
</td>
<td class="nump">$ 15,555<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAsset', window );">Finance Lease, Right-of-Use Asset, after Accumulated Amortization, Total</a></td>
<td class="nump">$ 24,719<span></span>
</td>
<td class="nump">$ 36,776<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of right-of-use asset from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross amount of inventory owned by the entity but in the hands of a customer, typically a reseller.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364759206784">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 8 - Balance Sheet Details - Inventories (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsNetOfReserves', window );">Raw material</a></td>
<td class="nump">$ 798,340<span></span>
</td>
<td class="nump">$ 727,162<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcessNetOfReserves', window );">Work-in-process</a></td>
<td class="nump">14,899<span></span>
</td>
<td class="nump">10,756<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">592,145<span></span>
</td>
<td class="nump">351,787<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Total</a></td>
<td class="nump">$ 1,405,384<span></span>
</td>
<td class="nump">$ 1,089,705<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterialsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcessNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcessNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364748699184">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 8 - Balance Sheet Details - Property and Equipment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">$ 750,422<span></span>
</td>
<td class="nump">$ 674,551<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated depreciation</a></td>
<td class="num">(282,818)<span></span>
</td>
<td class="num">(233,699)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Total</a></td>
<td class="nump">467,604<span></span>
</td>
<td class="nump">440,852<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandAndLandImprovementsMember', window );">Land and Land Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">22,589<span></span>
</td>
<td class="nump">26,137<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Building and Building Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">243,553<span></span>
</td>
<td class="nump">244,273<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">229,593<span></span>
</td>
<td class="nump">186,611<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=gnrc_DiesAndToolsMember', window );">Dies and Tools [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">37,343<span></span>
</td>
<td class="nump">31,581<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember', window );">Vehicles [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">9,807<span></span>
</td>
<td class="nump">7,621<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember', window );">Office Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">148,166<span></span>
</td>
<td class="nump">125,048<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">6,849<span></span>
</td>
<td class="nump">5,679<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember', window );">Construction in Progress [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">$ 52,522<span></span>
</td>
<td class="nump">$ 47,601<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandAndLandImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandAndLandImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=gnrc_DiesAndToolsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=gnrc_DiesAndToolsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364756742224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Goodwill and Intangible Assets (Details Textual) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of Intangible Assets</a></td>
<td class="nump">$ 103,320<span></span>
</td>
<td class="nump">$ 49,886<span></span>
</td>
<td class="nump">$ 32,280<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">Finite-Lived Intangible Asset, Expected Amortization, Year One</a></td>
<td class="nump">99,512<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">Finite-Lived Intangible Asset, Expected Amortization, Year Two</a></td>
<td class="nump">94,070<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">Finite-Lived Intangible Asset, Expected Amortization, Year Three</a></td>
<td class="nump">89,561<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">Finite-Lived Intangible Asset, Expected Amortization, Year Four</a></td>
<td class="nump">82,392<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">Finite-Lived Intangible Asset, Expected Amortization, Year Five</a></td>
<td class="nump">$ 56,162<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364750969904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Goodwill and Intangible Assets - Carrying Amount of Goodwill (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">$ 1,409,674<span></span>
</td>
<td class="nump">$ 855,228<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Acquisitions of businesses, net</a></td>
<td class="nump">22,565<span></span>
</td>
<td class="nump">578,061<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation</a></td>
<td class="num">(31,359)<span></span>
</td>
<td class="num">(23,615)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">1,400,880<span></span>
</td>
<td class="nump">1,409,674<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillGross', window );">Goodwill, gross</a></td>
<td class="nump">1,908,684<span></span>
</td>
<td class="nump">1,917,478<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss', window );">Accumulated impairment</a></td>
<td class="num">(507,804)<span></span>
</td>
<td class="num">(507,804)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">1,400,880<span></span>
</td>
<td class="nump">1,409,674<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_DomesticMember', window );">Domestic [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">995,444<span></span>
</td>
<td class="nump">702,535<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Acquisitions of businesses, net</a></td>
<td class="nump">22,128<span></span>
</td>
<td class="nump">293,614<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation</a></td>
<td class="num">(915)<span></span>
</td>
<td class="num">(705)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">1,016,657<span></span>
</td>
<td class="nump">995,444<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillGross', window );">Goodwill, gross</a></td>
<td class="nump">1,519,850<span></span>
</td>
<td class="nump">1,498,637<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss', window );">Accumulated impairment</a></td>
<td class="num">(503,193)<span></span>
</td>
<td class="num">(503,193)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">1,016,657<span></span>
</td>
<td class="nump">995,444<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_InternationalMember', window );">International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">414,230<span></span>
</td>
<td class="nump">152,693<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Acquisitions of businesses, net</a></td>
<td class="nump">437<span></span>
</td>
<td class="nump">284,447<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation</a></td>
<td class="num">(30,444)<span></span>
</td>
<td class="num">(22,910)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">384,223<span></span>
</td>
<td class="nump">414,230<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillGross', window );">Goodwill, gross</a></td>
<td class="nump">388,834<span></span>
</td>
<td class="nump">418,841<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss', window );">Accumulated impairment</a></td>
<td class="num">(4,611)<span></span>
</td>
<td class="num">(4,611)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 384,223<span></span>
</td>
<td class="nump">$ 414,230<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAcquiredDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAcquiredDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillForeignCurrencyTranslationGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated impairment loss for an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillImpairedAccumulatedImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_DomesticMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=gnrc_DomesticMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=gnrc_InternationalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=gnrc_InternationalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364750959600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Goodwill and Intangible Assets - Summary of Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Finite-lived intangible assets, gross</a></td>
<td class="nump">$ 1,472,148<span></span>
</td>
<td class="nump">$ 1,479,276<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Finite-lived intangible assets, accumulated amortization</a></td>
<td class="num">(669,755)<span></span>
</td>
<td class="num">(566,435)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Finite-lived intangible assets, net</a></td>
<td class="nump">802,393<span></span>
</td>
<td class="nump">912,841<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IndefiniteLivedTradeNames', window );">Indefinite-lived tradenames, gross</a></td>
<td class="nump">128,321<span></span>
</td>
<td class="nump">128,321<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsGrossExcludingGoodwill', window );">Total intangible assets, gross</a></td>
<td class="nump">1,600,469<span></span>
</td>
<td class="nump">1,607,597<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Total intangible assets, net</a></td>
<td class="nump">$ 930,714<span></span>
</td>
<td class="nump">1,041,162<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-lived intangible assets, useful life (Year)</a></td>
<td class="text">14 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Finite-lived intangible assets, gross</a></td>
<td class="nump">$ 157,751<span></span>
</td>
<td class="nump">162,563<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Finite-lived intangible assets, accumulated amortization</a></td>
<td class="num">(58,821)<span></span>
</td>
<td class="num">(47,353)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Finite-lived intangible assets, net</a></td>
<td class="nump">$ 98,930<span></span>
</td>
<td class="nump">115,210<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerListsMember', window );">Customer Lists [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-lived intangible assets, useful life (Year)</a></td>
<td class="text">11 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Finite-lived intangible assets, gross</a></td>
<td class="nump">$ 577,203<span></span>
</td>
<td class="nump">573,910<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Finite-lived intangible assets, accumulated amortization</a></td>
<td class="num">(370,216)<span></span>
</td>
<td class="num">(335,188)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Finite-lived intangible assets, net</a></td>
<td class="nump">$ 206,987<span></span>
</td>
<td class="nump">238,722<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=gnrc_PatentsAndTechnologyMember', window );">Patents and Technology [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-lived intangible assets, useful life (Year)</a></td>
<td class="text">14 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Finite-lived intangible assets, gross</a></td>
<td class="nump">$ 665,563<span></span>
</td>
<td class="nump">662,341<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Finite-lived intangible assets, accumulated amortization</a></td>
<td class="num">(210,806)<span></span>
</td>
<td class="num">(169,868)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Finite-lived intangible assets, net</a></td>
<td class="nump">454,757<span></span>
</td>
<td class="nump">492,473<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember', window );">Computer Software, Intangible Asset [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Finite-lived intangible assets, gross</a></td>
<td class="nump">1,046<span></span>
</td>
<td class="nump">1,046<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Finite-lived intangible assets, accumulated amortization</a></td>
<td class="num">(1,046)<span></span>
</td>
<td class="num">(1,046)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Finite-lived intangible assets, net</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-lived intangible assets, useful life (Year)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Finite-lived intangible assets, gross</a></td>
<td class="nump">$ 70,585<span></span>
</td>
<td class="nump">79,416<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Finite-lived intangible assets, accumulated amortization</a></td>
<td class="num">(28,866)<span></span>
</td>
<td class="num">(12,980)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Finite-lived intangible assets, net</a></td>
<td class="nump">$ 41,719<span></span>
</td>
<td class="nump">$ 66,436<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IndefiniteLivedTradeNames">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount (original costs adjusted for previously recognized amortization and impairment) as of the balance sheet date for the rights acquired through registration of a trade name to gain or protect exclusive use thereof for a projected indefinite period of benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IndefiniteLivedTradeNames</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsGrossExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated amortization of intangible assets, excluding goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsGrossExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerListsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerListsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=gnrc_PatentsAndTechnologyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=gnrc_PatentsAndTechnologyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364764107376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Leases (Details Textual)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract', window );">Lessee, Operating Lease and Finance Lease, Remaining Term of Contract (Year)</a></td>
<td class="text">20 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseRenewalTerm', window );">Lessee, Operating Lease, Renewal Term (Year)</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Remaining term of lessee's operating lease and finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseRenewalTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918673-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseRenewalTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364750861760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Leases - Leases Cost (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating lease cost</a></td>
<td class="nump">$ 36,292<span></span>
</td>
<td class="nump">$ 22,432<span></span>
</td>
<td class="nump">$ 18,648<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAssetAmortization', window );">Amortization of ROU assets</a></td>
<td class="nump">3,298<span></span>
</td>
<td class="nump">3,187<span></span>
</td>
<td class="nump">2,587<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseInterestExpense', window );">Interest on lease liabilities</a></td>
<td class="nump">1,945<span></span>
</td>
<td class="nump">2,021<span></span>
</td>
<td class="nump">2,237<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseCost', window );">Total lease cost</a></td>
<td class="nump">$ 41,535<span></span>
</td>
<td class="nump">$ 27,640<span></span>
</td>
<td class="nump">$ 23,472<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of interest expense on finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918638-209977<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseInterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseRightOfUseAssetAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense attributable to right-of-use asset from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918638-209977<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseRightOfUseAssetAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lease cost recognized by lessee for lease contract.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364765997328">
<tr>
<th class="tl" colspan="2" rowspan="1"><div style="width: 200px;"><strong>Note 10 - Leases - Supplement Balance Sheet Information Related to Leases (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_FinanceLeaseRightOfUseAssetGross', window );">Finance lease ROU assets, gross</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 35,470<span></span>
</td>
<td class="nump">$ 47,119<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation', window );">Accumulated depreciation - finance lease ROU assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(10,751)<span></span>
</td>
<td class="num">(10,343)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAsset', window );">Finance lease ROU assets, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">24,719<span></span>
</td>
<td class="nump">36,776<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityCurrent', window );">Finance lease liabilities - current</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">2,650<span></span>
</td>
<td class="nump">4,209<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiability', window );">Total finance lease liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">27,420<span></span>
</td>
<td class="nump">39,175<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=gnrc_OperatingLeaseAndOtherAssetsMember', window );">Operating Lease and Other Assets [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease ROU assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">100,083<span></span>
</td>
<td class="nump">101,266<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=gnrc_OtherAccruedLiabilitiesMember', window );">Other Accrued Liabilities [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liabilities - current</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="nump">30,330<span></span>
</td>
<td class="nump">23,549<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=gnrc_OperatingLeaseAndOtherLongtermLiabilitiesMember', window );">Operating Lease and Other Long-term Liabilities [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities - noncurrent</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="nump">73,547<span></span>
</td>
<td class="nump">80,370<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember', window );">Other Accrued Liabilities and Operating Lease and Other Long-term Liabilities [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total operating lease liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">103,877<span></span>
</td>
<td class="nump">103,919<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=gnrc_FinanceLeaseAndOtherAssetsMember', window );">Finance Lease and Other Assets [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAsset', window );">Finance lease ROU assets, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[4]</sup></td>
<td class="nump">24,719<span></span>
</td>
<td class="nump">36,776<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=gnrc_CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember', window );">Current Portion of Long-term Borrowings and Finance Lease Obligations [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityCurrent', window );">Finance lease liabilities - current</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[5]</sup></td>
<td class="nump">2,650<span></span>
</td>
<td class="nump">4,209<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=gnrc_FinanceLeaseAndOtherLongtermLiabilitiesMember', window );">Finance Lease and Other Long-term Liabilities [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityNoncurrent', window );">Finance lease liabilities - noncurrent</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[6]</sup></td>
<td class="nump">24,770<span></span>
</td>
<td class="nump">34,966<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=gnrc_OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember', window );">Other Accrued Liabilities and Finance Lease and Other Long-term Liabilities [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiability', window );">Total finance lease liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 27,420<span></span>
</td>
<td class="nump">$ 39,175<span></span>
</td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">Recorded in the operating lease and other assets line within the consolidated balance sheets</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top">Recorded in the other accrued liabilities line within the consolidated balance sheets</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[3]</td>
<td style="vertical-align: top;" valign="top">Recorded in the operating lease and other long-term liabilities line within the consolidated balance sheets</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[4]</td>
<td style="vertical-align: top;" valign="top">Recorded in the property and equipment, net line within the consolidated balance sheets</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[5]</td>
<td style="vertical-align: top;" valign="top">Recorded in the current portion of long-term borrowings and finance lease obligations line within the consolidated balance sheets</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[6]</td>
<td style="vertical-align: top;" valign="top">Recorded in the long-term borrowings and finance lease obligations line within the consolidated balance sheets</td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation for finance lease right of use assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_FinanceLeaseRightOfUseAssetGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross amount of lessee's right to use underlying asset under finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_FinanceLeaseRightOfUseAssetGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of right-of-use asset from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=gnrc_OperatingLeaseAndOtherAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=gnrc_OperatingLeaseAndOtherAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=gnrc_OtherAccruedLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=gnrc_OtherAccruedLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=gnrc_OperatingLeaseAndOtherLongtermLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=gnrc_OperatingLeaseAndOtherLongtermLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=gnrc_FinanceLeaseAndOtherAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=gnrc_FinanceLeaseAndOtherAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=gnrc_CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=gnrc_CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=gnrc_FinanceLeaseAndOtherLongtermLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=gnrc_FinanceLeaseAndOtherLongtermLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=gnrc_OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=gnrc_OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>R73.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364752711152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Leases - Supplement Cash Flow Information Related to Leases (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Operating cash flows from operating leases</a></td>
<td class="nump">$ 36,020<span></span>
</td>
<td class="nump">$ 21,250<span></span>
</td>
<td class="nump">$ 18,412<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseInterestPaymentOnLiability', window );">Operating cash flows from finance leases</a></td>
<td class="nump">1,919<span></span>
</td>
<td class="nump">1,972<span></span>
</td>
<td class="nump">1,871<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeasePrincipalPayments', window );">Financing cash flows from finance leases</a></td>
<td class="nump">4,931<span></span>
</td>
<td class="nump">4,679<span></span>
</td>
<td class="nump">3,957<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Operating leases</a></td>
<td class="nump">28,766<span></span>
</td>
<td class="nump">55,057<span></span>
</td>
<td class="nump">41,678<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability', window );">Finance leases</a></td>
<td class="nump">$ 2,874<span></span>
</td>
<td class="nump">$ 4,026<span></span>
</td>
<td class="nump">$ 3,737<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseInterestPaymentOnLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of interest paid on finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918643-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseInterestPaymentOnLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeasePrincipalPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for principal payment on finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeasePrincipalPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<FILENAME>R74.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766699008">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 10 - Leases - Weighted Average Remaining Lease Term and Discount Rate Information (Details)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Operating Leases (Year)</a></td>
<td class="text">4 years 7 months 24 days<span></span>
</td>
<td class="text">5 years 2 months 15 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1', window );">Finance Leases (Year)</a></td>
<td class="text">11 years 3 months 3 days<span></span>
</td>
<td class="text">11 years 11 months 8 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Operating Leases</a></td>
<td class="nump">4.82%<span></span>
</td>
<td class="nump">3.58%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent', window );">Finance Leases</a></td>
<td class="nump">7.58%<span></span>
</td>
<td class="nump">7.43%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for finance lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<FILENAME>R75.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364758155376">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 10 - Leases - Maturities of Lease liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2023, finance lease</a></td>
<td class="nump">$ 4,487<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2023, operating leases</a></td>
<td class="nump">34,208<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo', window );">2024, finance lease</a></td>
<td class="nump">4,223<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2024, operating leases</a></td>
<td class="nump">30,834<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree', window );">2025, finance lease</a></td>
<td class="nump">3,639<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2025, operating leases</a></td>
<td class="nump">20,386<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour', window );">2026, finance lease</a></td>
<td class="nump">3,137<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2026, operating leases</a></td>
<td class="nump">9,855<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive', window );">2027, finance lease</a></td>
<td class="nump">2,929<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2027, operating leases</a></td>
<td class="nump">8,334<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive', window );">After 2023, finance leases</a></td>
<td class="nump">24,405<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">After 2023, operating leases</a></td>
<td class="nump">14,743<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDue', window );">Total minimum lease payments, finance leases</a></td>
<td class="nump">42,820<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total minimum lease payments, operating leases</a></td>
<td class="nump">118,360<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount', window );">Interest component</a></td>
<td class="num">(15,400)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Interest component</a></td>
<td class="num">(14,483)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiability', window );">Present value of minimum lease payments, finance leases</a></td>
<td class="nump">27,420<span></span>
</td>
<td class="nump">$ 39,175<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember', window );">Other Accrued Liabilities and Operating Lease and Other Long-term Liabilities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Present value of minimum lease payments, operating leases</a></td>
<td class="nump">$ 103,877<span></span>
</td>
<td class="nump">$ 103,919<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<FILENAME>R76.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364765778912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Product Warranty Obligations (Details Textual) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_StandardProductWarrantyAccrualWarrantyProvision', window );">Standard Product Warranty Accrual, Warranty Provision</a></td>
<td class="nump">$ 37,338<span></span>
</td>
<td class="nump">$ 37,338<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostNet', window );">Capitalized Contract Cost, Net, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,199<span></span>
</td>
<td class="nump">$ 8,479<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostAmortization', window );">Capitalized Contract Cost, Amortization</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,932<span></span>
</td>
<td class="nump">$ 1,739<span></span>
</td>
<td class="nump">$ 1,303<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_ExtendedWarrantyTerm', window );">Extended Warranty Term (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_ExtendedWarrantyTerm', window );">Extended Warranty Term (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_ExtendedWarrantyTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expiration period of the extended warranty.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_ExtendedWarrantyTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_StandardProductWarrantyAccrualWarrantyProvision">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of warranty provision for standard product warranty accrual.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_StandardProductWarrantyAccrualWarrantyProvision</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126905575&amp;loc=SL49131252-203054<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126905575&amp;loc=SL49131252-203054<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<FILENAME>R77.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364749316656">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Product Warranty Obligations - Reconciliation of Product Warranty Liability (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrual', window );">Balance at beginning of period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 94,213<span></span>
</td>
<td class="nump">$ 59,218<span></span>
</td>
<td class="nump">$ 49,316<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition', window );">Product warranty reserve assumed in acquisition</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="nump">3,932<span></span>
</td>
<td class="nump">124<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualPayments', window );">Payments</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(77,476)<span></span>
</td>
<td class="num">(42,682)<span></span>
</td>
<td class="num">(33,496)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued', window );">Provision for warranty issued</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">80,340<span></span>
</td>
<td class="nump">69,280<span></span>
</td>
<td class="nump">42,093<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease', window );">Changes in estimates for pre-existing warranties (1)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">40,934<span></span>
</td>
<td class="nump">4,465<span></span>
</td>
<td class="nump">1,181<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrual', window );">Balance at end of period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">138,011<span></span>
</td>
<td class="nump">94,213<span></span>
</td>
<td class="nump">59,218<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ExtendedProductWarrantyAccrual', window );">Balance at beginning of period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">111,647<span></span>
</td>
<td class="nump">89,788<span></span>
</td>
<td class="nump">78,738<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued', window );">Deferred revenue contracts issued</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">42,869<span></span>
</td>
<td class="nump">41,560<span></span>
</td>
<td class="nump">26,968<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_AmortizationOfDeferredRevenueOnExtendedWarrantyContracts', window );">Amortization of deferred revenue contracts</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(21,703)<span></span>
</td>
<td class="num">(19,701)<span></span>
</td>
<td class="num">(15,918)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ExtendedProductWarrantyAccrual', window );">Balance at end of period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 132,813<span></span>
</td>
<td class="nump">$ 111,647<span></span>
</td>
<td class="nump">$ 89,788<span></span>
</td>
</tr>
<tr><td colspan="4"></td></tr>
<tr><td colspan="4"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">Includes a specific warranty provision recorded during the third quarter of 2022 in the amount of $37,338 to address certain clean energy product related matters.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_AmortizationOfDeferredRevenueOnExtendedWarrantyContracts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the aggregate decrease in the liability for accruals related to extended product warranties issued during the reporting period, due to amortization of deferred revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_AmortizationOfDeferredRevenueOnExtendedWarrantyContracts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ExtendedProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount as of the balance sheet date of the aggregate extended product warranty liability. Does not include the ending balance for the standard product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1),(c)(5)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ExtendedProductWarrantyAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in the extended product warranty accrual from warranties issued. Excludes standard product warranties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount as of the balance sheet date of the aggregate standard product warranty liability. Does not include the balance for the extended product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1),(c)(5)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in the standard product warranty accrual from a business acquisition. Excludes extended product warranties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in the standard product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard product warranty. Excludes extended product warranties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the standard product warranty accrual from changes in estimates attributable to preexisting product warranties. Excludes extended product warranties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in the standard product warranty accrual from warranties issued. Excludes extended product warranties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualWarrantiesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>94
<FILENAME>R78.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364766850864">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Revenue performance obligation</a></td>
<td class="nump">$ 132,813<span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>95
<FILENAME>R79.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364760272416">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties 2 (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Revenue performance obligation</a></td>
<td class="nump">$ 132,813<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Revenue performance obligation</a></td>
<td class="nump">30,291<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Revenue performance obligation</a></td>
<td class="nump">24,472<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2025-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Revenue performance obligation</a></td>
<td class="nump">22,120<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2026-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Revenue performance obligation</a></td>
<td class="nump">17,803<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2027-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Revenue performance obligation</a></td>
<td class="nump">$ 38,127<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2025-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2025-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2026-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2026-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2027-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2027-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>96
<FILENAME>R80.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364756336208">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties (Details) (Parentheticals)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Revenue performance period (Year)</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Revenue performance period (Year)</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2025-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Revenue performance period (Year)</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2026-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Revenue performance period (Year)</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2027-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Revenue performance period (Year)</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2025-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2025-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2026-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2026-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2027-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2027-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>97
<FILENAME>R81.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364756660576">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 11 - Product Warranty Obligations - Deferred Product Obligations (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualCurrent', window );">Current portion - accrued product warranty</a></td>
<td class="nump">$ 89,141<span></span>
</td>
<td class="nump">$ 59,052<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualNoncurrent', window );">Long-term portion - other long-term liabilities</a></td>
<td class="nump">48,870<span></span>
</td>
<td class="nump">35,161<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrual', window );">Total</a></td>
<td class="nump">138,011<span></span>
</td>
<td class="nump">94,213<span></span>
</td>
<td class="nump">$ 59,218<span></span>
</td>
<td class="nump">$ 49,316<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ExtendedProductWarrantyAccrualCurrent', window );">Current portion - other accrued liabilities</a></td>
<td class="nump">30,291<span></span>
</td>
<td class="nump">20,556<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ExtendedProductWarrantyAccrualNoncurrent', window );">Long-term portion - other long-term liabilities</a></td>
<td class="nump">102,522<span></span>
</td>
<td class="nump">91,091<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ExtendedProductWarrantyAccrual', window );">Total</a></td>
<td class="nump">$ 132,813<span></span>
</td>
<td class="nump">$ 111,647<span></span>
</td>
<td class="nump">$ 89,788<span></span>
</td>
<td class="nump">$ 78,738<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ExtendedProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount as of the balance sheet date of the aggregate extended product warranty liability. Does not include the ending balance for the standard product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1),(c)(5)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ExtendedProductWarrantyAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ExtendedProductWarrantyAccrualCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount at end of the reporting period of the aggregate extended product warranty liability that is expected to be paid within one year of the balance sheet date or normal operating cycle, if longer. Does not include the balance for the standard product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ExtendedProductWarrantyAccrualCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ExtendedProductWarrantyAccrualNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount at end of the reporting period of the aggregate extended product warranty liability that is expected to be paid after one year from the balance sheet date or normal operating cycle, if longer. Does not include the balance for the standard product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ExtendedProductWarrantyAccrualNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount as of the balance sheet date of the aggregate standard product warranty liability. Does not include the balance for the extended product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1),(c)(5)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount as of the balance sheet date of the aggregate standard product warranty liability that is expected to be paid within one year or the normal operating cycle, if longer. Does not include the balance for the extended product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount as of the balance sheet date of the aggregate standard product warranty liability that is expected to be paid after one year or beyond the normal operating cycle, if longer. Does not include the balance for the extended product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>98
<FILENAME>R82.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364748733216">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Credit Agreements (Details Textual) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">1 Months Ended</th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jan. 01, 2023</div></th>
<th class="th"><div>May 31, 2013</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>May 31, 2021</div></th>
<th class="th"><div>May 31, 2015</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>May 01, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermBorrowings', window );">Short-Term Debt, Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 48,990<span></span>
</td>
<td class="nump">$ 72,035<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Gain (Loss) on Extinguishment of Debt, Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (3,743)<span></span>
</td>
<td class="num">(831)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=gnrc_ABLRevolvingCreditFacilityMember', window );">ABL Revolving Credit Facility [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of Credit Facility, Maximum Borrowing Capacity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 300,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_LineOfCreditFacilityIncrementalCapacity', window );">Line of Credit Facility, Incremental Capacity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNet', window );">Debt Issuance Costs, Net, Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">920<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromLongTermLinesOfCredit', window );">Proceeds from Long-term Lines of Credit</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 50,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WriteOffOfDeferredDebtIssuanceCost', window );">Write off of Deferred Debt Issuance Cost</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 197<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of Credit Facility, Maximum Borrowing Capacity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,250,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,250,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNet', window );">Debt Issuance Costs, Net, Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,330<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,330<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_CovenantMaximumTotalLeverageRatio', window );">Covenant Maximum Total Leverage Ratio</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.75<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_CovenantMinimumInterestCoverageRatio', window );">Covenant Minimum Interest Coverage Ratio</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_TotalLeverageRatio', window );">Total Leverage Ratio</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.74<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_InterestCoverageRatio', window );">Interest Coverage Ratio</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14.81<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFeeAmount', window );">Debt Instrument, Fee Amount</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Long-Term Line of Credit, Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 90,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Line of Credit Facility, Remaining Borrowing Capacity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,158,725<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_VariableRateAxis=us-gaap_BaseRateMember', window );">Base Rate [Member] | ABL Revolving Credit Facility [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_VariableRateAxis=us-gaap_BaseRateMember', window );">Base Rate [Member] | Maximum [Member] | ABL Revolving Credit Facility [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.25%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_VariableRateAxis=us-gaap_BaseRateMember', window );">Base Rate [Member] | Minimum [Member] | ABL Revolving Credit Facility [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_VariableRateAxis=gnrc_AdjustedLIBORRateMember', window );">Adjusted LIBOR Rate [Member] | ABL Revolving Credit Facility [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember', window );">London Interbank Offered Rate (LIBOR) [Member] | Maximum [Member] | ABL Revolving Credit Facility [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.25%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember', window );">London Interbank Offered Rate (LIBOR) [Member] | Minimum [Member] | ABL Revolving Credit Facility [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=gnrc_TrancheBTermLoanFacilityMember', window );">Tranche B Term Loan Facility [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of Credit Facility, Maximum Borrowing Capacity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_UncommittedIncrementalTermLoanFacility', window );">Uncommitted Incremental Term Loan Facility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_DebtInstrumentSOFRFloor', window );">Debt Instrument, SOFR Floor</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage', window );">Debt Instrument, Interest Rate, Effective Percentage</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5.97%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Gain (Loss) on Extinguishment of Debt, Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,546<span></span>
</td>
<td class="num">$ (831)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfLongTermDebt', window );">Repayments of Long-Term Debt, Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">250,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=gnrc_TrancheBTermLoanFacilityMember', window );">Tranche B Term Loan Facility [Member] | Maximum [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement', window );">Threshold for Secured Leverage Ratio Excess Cash Flow Payment Requirement</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.75<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=gnrc_TrancheBTermLoanFacilityMember', window );">Tranche B Term Loan Facility [Member] | Base Rate [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.75%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.75%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=gnrc_TrancheBTermLoanFacilityMember', window );">Tranche B Term Loan Facility [Member] | Adjusted LIBOR Rate [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.75%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=gnrc_TrancheBTermLoanFacilityMember', window );">Tranche B Term Loan Facility [Member] | LIBOR Floor Rate [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.75%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=gnrc_TrancheBTermLoanFacilityMember', window );">Tranche B Term Loan Facility [Member] | Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.75%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=gnrc_TermLoanMember', window );">Term Loan [Member] | Maximum [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_SecuredLeverageRatio', window );">Secured Leverage Ratio</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.55<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=gnrc_TrancheATermLoanFacilityMember', window );">Tranche A Term Loan Facility [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of Credit Facility, Maximum Borrowing Capacity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 750,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 750,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember', window );">Tranche A Term Loan Facility and Revolving Credit Facility [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_DebtInstrumentSOFRFloor', window );">Debt Instrument, SOFR Floor</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage', window );">Debt Instrument, Interest Rate, Effective Percentage</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5.72%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturityDate', window );">Long-Term Debt, Maturity Date</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Jun. 29,  2027<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Jun. 29,  2027<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember', window );">Tranche A Term Loan Facility and Revolving Credit Facility [Member] | Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember', window );">Tranche A Term Loan Facility and Revolving Credit Facility [Member] | Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member] | Maximum [Member] | Forecast [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1.75%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember', window );">Tranche A Term Loan Facility and Revolving Credit Facility [Member] | Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member] | Minimum [Member] | Forecast [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1.25%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr><td colspan="12"></td></tr>
<tr><td colspan="12"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">Represents the non-cash write-off of original issue discount and deferred financing costs due primarily to a voluntary prepayment of debt.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_CovenantMaximumTotalLeverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum financial condition covenant applicable to Tranche A Term Loan Facility and Revolving Facility only.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_CovenantMaximumTotalLeverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_CovenantMinimumInterestCoverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The minimum interest coverage ratio required under the covenant.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_CovenantMinimumInterestCoverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_DebtInstrumentSOFRFloor">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>SOFR floor rate on debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_DebtInstrumentSOFRFloor</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_InterestCoverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of interest coverage ratio.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_InterestCoverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_LineOfCreditFacilityIncrementalCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the incremental capacity under a line of credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_LineOfCreditFacilityIncrementalCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_SecuredLeverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Ratio used to calculate financial leverage and the ability to meet financial obligations. If the borrower's actual secured leverage ratio is below the 3.75 threshold for the annual period, the Excess Cash Flow payment requirement for that period is eliminated.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_SecuredLeverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The threshold for secured leverage ration required for the excess cash flow payment requirement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_TotalLeverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Financial Condition Covenant applicable to Tranche A Term Loan Facility and Revolving Facility only.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_TotalLeverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_UncommittedIncrementalTermLoanFacility">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Refers to uncommitted incremental term loan facility after amendment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_UncommittedIncrementalTermLoanFacility</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage points added to the reference rate to compute the variable rate on the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFeeAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the fee that accompanies borrowing money under the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFeeAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6036836-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429444&amp;loc=SL124452920-239629<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateEffectivePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFinanceCostsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126972273&amp;loc=d3e12355-112629<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126972273&amp;loc=d3e12317-112629<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnExtinguishmentOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturityDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maturity date of long-term debt, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturityDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromLongTermLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLongTermLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WriteOffOfDeferredDebtIssuanceCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Write-off of amounts previously capitalized as debt issuance cost in an extinguishment of debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.8)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WriteOffOfDeferredDebtIssuanceCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=gnrc_ABLRevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=gnrc_ABLRevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_BaseRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_BaseRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=gnrc_AdjustedLIBORRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=gnrc_AdjustedLIBORRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=gnrc_TrancheBTermLoanFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=gnrc_TrancheBTermLoanFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=gnrc_LIBORFloorRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=gnrc_LIBORFloorRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=gnrc_TermLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=gnrc_TermLoanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=gnrc_TrancheATermLoanFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=gnrc_TrancheATermLoanFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=srt_ScenarioForecastMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=srt_ScenarioForecastMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>99
<FILENAME>R83.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364748700800">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 12 - Credit Agreements - Long-term Borrowings (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscount', window );">Original issue discount and deferred financing costs</a></td>
<td class="num">$ (16,568)<span></span>
</td>
<td class="num">$ (13,214)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiability', window );">Total finance lease liabilities</a></td>
<td class="nump">27,420<span></span>
</td>
<td class="nump">39,175<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherBorrowings', window );">Other</a></td>
<td class="nump">966<span></span>
</td>
<td class="nump">2,060<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtAndCapitalLeaseObligations', window );">Total</a></td>
<td class="nump">1,381,818<span></span>
</td>
<td class="nump">908,021<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Less: current portion of debt</a></td>
<td class="nump">10,083<span></span>
</td>
<td class="nump">1,721<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityCurrent', window );">Finance lease liabilities - current</a></td>
<td class="nump">2,650<span></span>
</td>
<td class="nump">4,209<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtAndCapitalLeaseObligations', window );">Total</a></td>
<td class="nump">1,369,085<span></span>
</td>
<td class="nump">902,091<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=gnrc_ABLRevolvingCreditFacilityMember', window );">ABL Revolving Credit Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermLineOfCredit', window );">Line of credit</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">100,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermLineOfCredit', window );">Line of credit</a></td>
<td class="nump">90,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=gnrc_TrancheATermLoanFacilityMember', window );">Tranche A Term Loan Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Term Loan</a></td>
<td class="nump">750,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=gnrc_TrancheBTermLoanFacilityMember', window );">Tranche B Term Loan Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Term Loan</a></td>
<td class="nump">$ 530,000<span></span>
</td>
<td class="nump">$ 780,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtAndCapitalLeaseObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term and long-term debt and lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.13,16)<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.16)<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtAndCapitalLeaseObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentUnamortizedDiscount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28541-108399<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentUnamortizedDiscount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtAndCapitalLeaseObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt and lease obligation, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtAndCapitalLeaseObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermLineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the noncurrent portion 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=99376301&amp;loc=d3e1336-112600<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=99376301&amp;loc=d3e1314-112600<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermLineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying amount as of the balance sheet date for the aggregate of other miscellaneous borrowings owed by the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.13,16)<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=gnrc_ABLRevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=gnrc_ABLRevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=gnrc_TrancheATermLoanFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=gnrc_TrancheATermLoanFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=gnrc_TrancheBTermLoanFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=gnrc_TrancheBTermLoanFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>100
<FILENAME>R84.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364765796336">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 12 - Credit Agreements - Maturities of Long-term Borrowings Outstanding (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths', window );">2023</a></td>
<td class="nump">$ 10,083<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo', window );">2024</a></td>
<td class="nump">28,178<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree', window );">2025</a></td>
<td class="nump">46,931<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour', window );">2026</a></td>
<td class="nump">595,711<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive', window );">2027</a></td>
<td class="nump">690,032<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive', window );">After 2027</a></td>
<td class="nump">31<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Total</a></td>
<td class="nump">1,370,966<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=gnrc_TrancheATermLoanFacilityMember', window );">Tranche A Term Loan Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths', window );">2023</a></td>
<td class="nump">9,375<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo', window );">2024</a></td>
<td class="nump">28,125<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree', window );">2025</a></td>
<td class="nump">46,875<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour', window );">2026</a></td>
<td class="nump">65,625<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive', window );">2027</a></td>
<td class="nump">600,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive', window );">After 2027</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Total</a></td>
<td class="nump">750,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=gnrc_TrancheBTermLoanFacilityMember', window );">Tranche B Term Loan Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths', window );">2023</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo', window );">2024</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree', window );">2025</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour', window );">2026</a></td>
<td class="nump">530,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive', window );">2027</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive', window );">After 2027</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Total</a></td>
<td class="nump">530,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=gnrc_ABLRevolvingCreditFacilityMember', window );">ABL Revolving Credit Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths', window );">2023</a></td>
<td class="nump">708<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo', window );">2024</a></td>
<td class="nump">53<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree', window );">2025</a></td>
<td class="nump">56<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour', window );">2026</a></td>
<td class="nump">86<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive', window );">2027</a></td>
<td class="nump">90,032<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive', window );">After 2027</a></td>
<td class="nump">31<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Total</a></td>
<td class="nump">$ 90,966<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing 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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in 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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=gnrc_TrancheATermLoanFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=gnrc_TrancheATermLoanFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=gnrc_TrancheBTermLoanFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=gnrc_TrancheBTermLoanFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=gnrc_ABLRevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=gnrc_ABLRevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>101
<FILENAME>R85.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364759615104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 13 - Stock Repurchase Programs (Details Textual) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1">89 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Aug. 05, 2022</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Stock Repurchase Program, Authorized Amount</a></td>
<td class="nump">$ 500,000<span></span>
</td>
<td class="nump">$ 250,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramPeriodInForce1', window );">Stock Repurchase Program, Period in Force (Year)</a></td>
<td class="text">24 months<span></span>
</td>
<td class="text">24 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockSharesAcquired', window );">Treasury Stock, Shares, Acquired (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,722,007<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValueAcquiredCostMethod', window );">Treasury Stock, Value, Acquired, Cost Method</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 345,840<span></span>
</td>
<td class="nump">$ 125,992<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Payments for Repurchase of Common Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 345,840<span></span>
</td>
<td class="nump">$ 125,992<span></span>
</td>
<td class="nump">$ (0)<span></span>
</td>
<td class="nump">$ 777,379<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Treasury Stock Acquired, Average Cost Per Share (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 66.17<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_TreasuryStockMember', window );">Treasury Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockSharesAcquired', window );">Treasury Stock, Shares, Acquired (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,722,007<span></span>
</td>
<td class="nump">350,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValueAcquiredCostMethod', window );">Treasury Stock, Value, Acquired, Cost Method</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 345,840<span></span>
</td>
<td class="nump">$ 125,992<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_SharesAcquiredUnderStockRepurchasesProgramShares', window );">Shares Acquired Under Stock Repurchases Program, Shares (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">350,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">11,748,713<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_SharesAcquiredUnderStockRepurchasesProgramShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and are being held in treasury</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_SharesAcquiredUnderStockRepurchasesProgramShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of stock repurchase plan authorized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramAuthorizedAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramPeriodInForce1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period which shares may be purchased under a stock repurchase plan authorized by an entity's Board of Directors, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramPeriodInForce1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockAcquiredAverageCostPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total cost of shares repurchased divided by the total number of shares repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockAcquiredAverageCostPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockSharesAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and are being held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockSharesAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValueAcquiredCostMethod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValueAcquiredCostMethod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_TreasuryStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_TreasuryStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>102
<FILENAME>R86.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364759734288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Earnings Per Share (Details Textual) - shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember', window );">Share-Based Payment Arrangement, Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount (in shares)</a></td>
<td class="nump">76,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>103
<FILENAME>R87.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364753022480">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Earnings Per Share - Reconciliation of Basic and Diluted Earnings Per Share (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income attributable to Generac Holdings Inc.</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 71,015<span></span>
</td>
<td class="nump">$ 58,270<span></span>
</td>
<td class="nump">$ 156,359<span></span>
</td>
<td class="nump">$ 113,858<span></span>
</td>
<td class="nump">$ 142,895<span></span>
</td>
<td class="nump">$ 131,570<span></span>
</td>
<td class="nump">$ 127,036<span></span>
</td>
<td class="nump">$ 148,993<span></span>
</td>
<td class="nump">$ 399,502<span></span>
</td>
<td class="nump">$ 550,494<span></span>
</td>
<td class="nump">$ 350,576<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestChangeInRedemptionValue', window );">Redeemable noncontrolling interest redemption value adjustment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(49,235)<span></span>
</td>
<td class="num">(17,102)<span></span>
</td>
<td class="num">(1,247)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_NetIncomeLossAvailableToCommonStockholders', window );">Net income attributable to common shareholders</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 350,267<span></span>
</td>
<td class="nump">$ 533,392<span></span>
</td>
<td class="nump">$ 349,329<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average shares, basic (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">63,117,007<span></span>
</td>
<td class="nump">62,686,001<span></span>
</td>
<td class="nump">62,280,889<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Dilutive effect of stock compensation awards (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,087,219<span></span>
</td>
<td class="nump">1,534,603<span></span>
</td>
<td class="nump">1,456,845<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares', window );">Dilutive effect of contingently issued shares (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">477,131<span></span>
</td>
<td class="nump">32,804<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted shares (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">64,681,357<span></span>
</td>
<td class="nump">64,253,408<span></span>
</td>
<td class="nump">63,737,734<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Net income attributable to Generac Holdings Inc. per common share - basic: (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 0.84<span></span>
</td>
<td class="nump">$ 0.84<span></span>
</td>
<td class="nump">$ 2.24<span></span>
</td>
<td class="nump">$ 1.61<span></span>
</td>
<td class="nump">$ 2.09<span></span>
</td>
<td class="nump">$ 1.98<span></span>
</td>
<td class="nump">$ 2.06<span></span>
</td>
<td class="nump">$ 2.39<span></span>
</td>
<td class="nump">$ 5.55<span></span>
</td>
<td class="nump">$ 8.51<span></span>
</td>
<td class="nump">$ 5.61<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Net income attributable to Generac Holdings Inc. per common share - diluted: (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 0.83<span></span>
</td>
<td class="nump">$ 0.83<span></span>
</td>
<td class="nump">$ 2.21<span></span>
</td>
<td class="nump">$ 1.57<span></span>
</td>
<td class="nump">$ 2.04<span></span>
</td>
<td class="nump">$ 1.93<span></span>
</td>
<td class="nump">$ 2.01<span></span>
</td>
<td class="nump">$ 2.33<span></span>
</td>
<td class="nump">$ 5.42<span></span>
</td>
<td class="nump">$ 8.30<span></span>
</td>
<td class="nump">$ 5.48<span></span>
</td>
</tr>
<tr><td colspan="12"></td></tr>
<tr><td colspan="12"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">There were no awards with an anti-dilutive impact for the years ended December 31, 2021, 2020 and 2019.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_NetIncomeLossAvailableToCommonStockholders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net income after adjustments for redeemable noncontrolling interest redemption value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_NetIncomeLossAvailableToCommonStockholders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of contingently issuable shares. Contingently issuable shares are those shares that are issuable for little or no cash contingent on certain conditions being met.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 54<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e2603-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 44<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e2062-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 26<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1828-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e2600-109256<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e2597-109256<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 48<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e2538-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 48<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e2538-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1757-109256<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 51<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e2574-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126962052&amp;loc=d3e4991-113900<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1707-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28A<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1500-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1757-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterestChangeInRedemptionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Change in noncontrolling interest during the period as a result of a change in the redemption value of redeemable noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=122040564&amp;loc=SL6540498-122764<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph 16(c)<br> -URI https://asc.fasb.org/extlink&amp;oid=122040564&amp;loc=SL6540498-122764<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=122040564&amp;loc=SL6540498-122764<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestChangeInRedemptionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<FILENAME>R88.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364760329072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Income Taxes (Details Textual) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred Income Tax Assets, Net</a></td>
<td class="nump">$ 12,746<span></span>
</td>
<td class="nump">$ 15,740<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred Income Tax Liabilities, Net</a></td>
<td class="nump">125,691<span></span>
</td>
<td class="nump">205,964<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_VauationAllowancesAndReservesAdjustments', window );">Vauation Allowances and Reserves Adjustments</a></td>
<td class="nump">3,236<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardAmount', window );">Tax Credit Carryforward, Amount</a></td>
<td class="nump">238,371<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_TaxCreditCarryforwardStateManufacturing', window );">Tax Credit Carryforward State Manufacturing</a></td>
<td class="nump">29,946<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense', window );">Unrecognized Tax Benefits, Interest on Income Taxes Expense</a></td>
<td class="nump">161<span></span>
</td>
<td class="nump">127<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense', window );">Unrecognized Tax Benefits, Income Tax Penalties Expense</a></td>
<td class="nump">$ 422<span></span>
</td>
<td class="nump">$ 357<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_TaxCreditCarryforwardStateManufacturing">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of the state manufacturing tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_TaxCreditCarryforwardStateManufacturing</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_VauationAllowancesAndReservesAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of valuation allowances and reserves adjustments to income tax deferred tax amounts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_VauationAllowancesAndReservesAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxCreditCarryforwardAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32559-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxCreditCarryforwardAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for penalties related to a tax position claimed or expected to be claimed in the tax return.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of interest expense for an underpayment of income taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>105
<FILENAME>R89.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364749365248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Income Taxes - Provision for Income Taxes (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentFederalTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">$ 118,320<span></span>
</td>
<td class="nump">$ 105,236<span></span>
</td>
<td class="nump">$ 62,714<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit', window );">State</a></td>
<td class="nump">25,743<span></span>
</td>
<td class="nump">21,295<span></span>
</td>
<td class="nump">13,071<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentForeignTaxExpenseBenefit', window );">Foreign</a></td>
<td class="nump">51,055<span></span>
</td>
<td class="nump">10,536<span></span>
</td>
<td class="nump">1,974<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current Income Tax Expense (Benefit), Total</a></td>
<td class="nump">195,118<span></span>
</td>
<td class="nump">137,067<span></span>
</td>
<td class="nump">77,759<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit', window );">Federal</a></td>
<td class="num">(43,475)<span></span>
</td>
<td class="nump">10,518<span></span>
</td>
<td class="nump">20,452<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit', window );">State</a></td>
<td class="num">(10,966)<span></span>
</td>
<td class="num">(3,728)<span></span>
</td>
<td class="nump">1,243<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredForeignIncomeTaxExpenseBenefit', window );">Foreign</a></td>
<td class="num">(40,109)<span></span>
</td>
<td class="num">(7,863)<span></span>
</td>
<td class="num">(1,197)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance', window );">Deferred Income Tax Expense (Benefit) Before Adjustment of Valuation Allowance</a></td>
<td class="num">(94,550)<span></span>
</td>
<td class="num">(1,073)<span></span>
</td>
<td class="nump">20,498<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance</a></td>
<td class="num">(972)<span></span>
</td>
<td class="num">(1,037)<span></span>
</td>
<td class="nump">716<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="nump">$ 99,596<span></span>
</td>
<td class="nump">$ 134,957<span></span>
</td>
<td class="nump">$ 98,973<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The component of income tax expense for the period representing the increase (decrease) in the entity's deferred tax assets and liabilities pertaining to continuing operations before adjustment of change in valuation allowance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentFederalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentForeignTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentForeignTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFederalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredForeignIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredForeignIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>106
<FILENAME>R90.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364756479840">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 15 - Income Taxes - Components of Deferred Tax Assets and Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="nump">$ 46,994<span></span>
</td>
<td class="nump">$ 37,797<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsDeferredIncome', window );">Deferred revenue</a></td>
<td class="nump">34,914<span></span>
</td>
<td class="nump">27,003<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInventory', window );">Inventories</a></td>
<td class="nump">20,229<span></span>
</td>
<td class="nump">14,907<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost', window );">Stock-based compensation</a></td>
<td class="nump">11,750<span></span>
</td>
<td class="nump">10,202<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards', window );">Operating loss and credit carryforwards</a></td>
<td class="nump">56,279<span></span>
</td>
<td class="nump">68,368<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts', window );">Bad debt</a></td>
<td class="nump">1,415<span></span>
</td>
<td class="nump">1,253<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOther', window );">Other deferred tax assets</a></td>
<td class="nump">7,531<span></span>
</td>
<td class="nump">12,203<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment', window );">Capitalized R&amp;D</a></td>
<td class="nump">33,738<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="num">(4,638)<span></span>
</td>
<td class="num">(7,874)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Total deferred tax assets</a></td>
<td class="nump">208,212<span></span>
</td>
<td class="nump">163,859<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets', window );">Goodwill and intangible assets</a></td>
<td class="nump">260,745<span></span>
</td>
<td class="nump">328,162<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Depreciation</a></td>
<td class="nump">44,385<span></span>
</td>
<td class="nump">21,340<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts', window );">Debt refinancing costs</a></td>
<td class="nump">1,184<span></span>
</td>
<td class="nump">2,916<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesDerivatives', window );">Interest swap and derivative</a></td>
<td class="nump">12,370<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesPrepaidExpenses', window );">Prepaid expenses</a></td>
<td class="nump">2,473<span></span>
</td>
<td class="nump">1,664<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Total deferred tax liabilities</a></td>
<td class="nump">321,157<span></span>
</td>
<td class="nump">354,082<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilities', window );">Net deferred tax liabilities</a></td>
<td class="num">$ (112,945)<span></span>
</td>
<td class="num">$ (190,223)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(15)(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsDeferredIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsDeferredIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from debt issuance costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesDerivatives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from derivatives.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesDerivatives</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from intangible assets including goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesPrepaidExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax consequences attributable to taxable temporary differences derived from prepaid expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPrepaidExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>107
<FILENAME>R91.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364756367872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Income Taxes - Unrecognized Tax Benefits (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Unrecognized tax benefit, beginning of period</a></td>
<td class="nump">$ 8,647<span></span>
</td>
<td class="nump">$ 7,613<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions', window );">Increase in unrecognized tax benefit for positions taken in prior period</a></td>
<td class="nump">97<span></span>
</td>
<td class="nump">272<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions', window );">Increase in unrecognized tax benefit for positions taken in current period</a></td>
<td class="nump">975<span></span>
</td>
<td class="nump">990<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations', window );">Statute of limitation expirations</a></td>
<td class="num">(824)<span></span>
</td>
<td class="num">(228)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities', window );">Settlements</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Unrecognized tax benefit, end of period</a></td>
<td class="nump">$ 8,895<span></span>
</td>
<td class="nump">$ 8,647<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10B<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=SL37586934-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from settlements with taxing authorities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from lapses of applicable statutes of limitations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>108
<FILENAME>R92.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364749317792">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Income Taxes - Reconciliation of Statutory and Effective Tax Rates (Details)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">U.S. statutory rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State taxes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">4.00%<span></span>
</td>
<td class="nump">4.30%<span></span>
</td>
<td class="nump">4.30%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent', window );">State tax rate differential</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(0.30%)<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch', window );">Research and development credits</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(1.10%)<span></span>
</td>
<td class="num">(1.00%)<span></span>
</td>
<td class="num">(1.10%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent', window );">State credits</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(1.50%)<span></span>
</td>
<td class="num">(1.10%)<span></span>
</td>
<td class="num">(1.50%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent', window );">Share-based compensation</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="num">(2.70%)<span></span>
</td>
<td class="num">(3.80%)<span></span>
</td>
<td class="num">(1.00%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost', window );">Nondeductible U.S. compensation</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1.60%<span></span>
</td>
<td class="nump">1.50%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent', window );">Foreign tax deduction</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(0.40%)<span></span>
</td>
<td class="num">(1.50%)<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent', window );">Foreign deferred tax rate change</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">1.20%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Other</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(1.00%)<span></span>
</td>
<td class="num">(1.10%)<span></span>
</td>
<td class="nump">0.50%<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">19.60%<span></span>
</td>
<td class="nump">19.50%<span></span>
</td>
<td class="nump">22.20%<span></span>
</td>
</tr>
<tr><td colspan="4"></td></tr>
<tr><td colspan="4"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">With the adoption of ASU 2016-09 in 2017, excess tax benefits from equity awards are reflected within the provision for income taxes rather than within the consolidated balance sheet.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to foreign deferred tax rate change.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit)</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state tax credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign income tax deduction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 740<br> -Section 35<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126970579&amp;loc=d3e23163-113944<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>109
<FILENAME>R93.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364758144240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 16 - Benefit Plans (Details Textual) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_EmployerContributionUnderMedicalAndDentalPlan', window );">Employer Contribution under Medical and Dental Plan</a></td>
<td class="nump">$ 31,180<span></span>
</td>
<td class="nump">$ 24,189<span></span>
</td>
<td class="nump">$ 24,617<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetirementPlanTypeAxis=gnrc_SavingsPlan401kMember', window );">Savings Plan 401(k) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch', window );">Defined Contribution Plan, Employer Matching Contribution, Percent of Match</a></td>
<td class="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_DefinedContributionPlanPercentageOfEligibleCompensation', window );">Defined Contribution Plan Percentage of Eligible Compensation</a></td>
<td class="nump">6.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanCostRecognized', window );">Defined Contribution Plan, Cost</a></td>
<td class="nump">$ 4,141<span></span>
</td>
<td class="nump">$ 6,725<span></span>
</td>
<td class="nump">$ 5,332<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_DefinedContributionPlanPercentageOfEligibleCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of eligible compensation of employees under defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_DefinedContributionPlanPercentageOfEligibleCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_EmployerContributionUnderMedicalAndDentalPlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contribution made under medical and dental plan made by the employer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_EmployerContributionUnderMedicalAndDentalPlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanCostRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost for defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 70<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=49170846&amp;loc=d3e28014-114942<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanCostRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage employer matches of the employee's percentage contribution matched.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetirementPlanTypeAxis=gnrc_SavingsPlan401kMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetirementPlanTypeAxis=gnrc_SavingsPlan401kMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>110
<FILENAME>R94.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364752255136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Share Plans (Details Textual) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Jun. 13, 2019</div></th>
<th class="th"><div>Feb. 10, 2010</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,100,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price (in dollars per share)</a></td>
<td class="nump">$ 282.20<span></span>
</td>
<td class="nump">$ 335.70<span></span>
</td>
<td class="nump">$ 102.32<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from Stock Options Exercised</a></td>
<td class="nump">$ 13,786<span></span>
</td>
<td class="nump">$ 38,787<span></span>
</td>
<td class="nump">$ 13,089<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Payment, Tax Withholding, Share-Based Payment Arrangement</a></td>
<td class="nump">$ 40,923<span></span>
</td>
<td class="nump">$ 58,903<span></span>
</td>
<td class="nump">$ 14,910<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=srt_BoardOfDirectorsChairmanMember', window );">Board of Directors Chairman [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued', window );">Deferred Compensation Arrangement with Individual, Shares Issued (in shares)</a></td>
<td class="nump">8,572<span></span>
</td>
<td class="nump">4,677<span></span>
</td>
<td class="nump">15,275<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_DeferredCompensationArrangementWithIndividualSharesGranted', window );">Deferred Compensation Arrangement with Individual, Shares Granted (in shares)</a></td>
<td class="nump">5,008<span></span>
</td>
<td class="nump">3,160<span></span>
</td>
<td class="nump">10,528<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense', window );">Deferred Compensation Arrangement with Individual, Compensation Expense</a></td>
<td class="nump">$ 1,886<span></span>
</td>
<td class="nump">$ 1,579<span></span>
</td>
<td class="nump">$ 1,558<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Share-Based Payment Arrangement, Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-Based Payment Arrangement, Expense</a></td>
<td class="nump">$ 6,911<span></span>
</td>
<td class="nump">$ 6,462<span></span>
</td>
<td class="nump">$ 5,860<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation (in shares)</a></td>
<td class="nump">17,376<span></span>
</td>
<td class="nump">8,608<span></span>
</td>
<td class="nump">24,070<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from Stock Options Exercised</a></td>
<td class="nump">$ 13,786<span></span>
</td>
<td class="nump">$ 38,787<span></span>
</td>
<td class="nump">$ 13,089<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Payment, Tax Withholding, Share-Based Payment Arrangement</a></td>
<td class="nump">14,089<span></span>
</td>
<td class="nump">$ 31,680<span></span>
</td>
<td class="nump">$ 7,297<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total</a></td>
<td class="nump">$ 16,098<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)</a></td>
<td class="text">2 years 9 months 18 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation (in shares)</a></td>
<td class="nump">92,008<span></span>
</td>
<td class="nump">80,583<span></span>
</td>
<td class="nump">70,718<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Payment, Tax Withholding, Share-Based Payment Arrangement</a></td>
<td class="nump">$ 26,834<span></span>
</td>
<td class="nump">$ 27,223<span></span>
</td>
<td class="nump">$ 7,613<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total</a></td>
<td class="nump">$ 48,934<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)</a></td>
<td class="text">2 years 1 month 6 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance Shares [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod', window );">Share-based Compensation Arrangement by Share-based Payment Award, Performance Measurement, Period (Year)</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=gnrc_RestrictedStockAndPerformanceSharesMember', window );">Restricted Stock and Performance Shares [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-Based Payment Arrangement, Expense</a></td>
<td class="nump">$ 22,570<span></span>
</td>
<td class="nump">$ 17,492<span></span>
</td>
<td class="nump">$ 15,022<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price (in dollars per share)</a></td>
<td class="nump">$ 103.50<span></span>
</td>
<td class="nump">$ 323.66<span></span>
</td>
<td class="nump">$ 91.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_PerformanceShareAwardPercentage', window );">Performance Share Award, Percentage</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price (in dollars per share)</a></td>
<td class="nump">$ 315.88<span></span>
</td>
<td class="nump">$ 438.83<span></span>
</td>
<td class="nump">$ 158.89<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_PerformanceShareAwardPercentage', window );">Performance Share Award, Percentage</a></td>
<td class="nump">200.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=gnrc_EquityIncentivePlanPlanMember', window );">Equity Incentive Plan (Plan) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-Based Payment Arrangement, Expense</a></td>
<td class="nump">$ 2,379<span></span>
</td>
<td class="nump">$ 6,249<span></span>
</td>
<td class="nump">$ 11,681<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=gnrc_The2019EquityIncentivePlanMember', window );">The 2019 Equity Incentive Plan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-Based Payment Arrangement, Expense</a></td>
<td class="nump">$ 27,102<span></span>
</td>
<td class="nump">$ 17,705<span></span>
</td>
<td class="nump">$ 9,201<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_DeferredCompensationArrangementWithIndividualSharesGranted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares granted in a deferred compensation arrangement with an individual.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_DeferredCompensationArrangementWithIndividualSharesGranted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_PerformanceShareAwardPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The percentage of the target performance share award.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_PerformanceShareAwardPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period of performance measurement for share-based compensation awards, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The compensation expense recognized during the period pertaining to the deferred compensation arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -SubTopic 10<br> -Section 30<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6409875&amp;loc=d3e20015-108363<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued pursuant to the terms of a deferred compensation arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_BoardOfDirectorsChairmanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_BoardOfDirectorsChairmanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=gnrc_RestrictedStockAndPerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=gnrc_RestrictedStockAndPerformanceSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=gnrc_EquityIncentivePlanPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=gnrc_EquityIncentivePlanPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=gnrc_The2019EquityIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=gnrc_The2019EquityIncentivePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>111
<FILENAME>R95.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364759860720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Share Plans - Weighted-average Assumptions used in the Black-Scholes-Merton Option Pricing Model (Details) - Share-Based Payment Arrangement, Option [Member] - $ / shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value per share (in dollars per share)</a></td>
<td class="nump">$ 129.38<span></span>
</td>
<td class="nump">$ 129.47<span></span>
</td>
<td class="nump">$ 35.79<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected stock price volatility</a></td>
<td class="nump">38.00%<span></span>
</td>
<td class="nump">37.00%<span></span>
</td>
<td class="nump">32.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk free interest rate</a></td>
<td class="nump">1.54%<span></span>
</td>
<td class="nump">0.45%<span></span>
</td>
<td class="nump">1.56%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare', window );">Expected annual dividend per share (in dollars per share)</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected life of options (Year)</a></td>
<td class="text">6 years 3 months<span></span>
</td>
<td class="text">6 years 3 months<span></span>
</td>
<td class="text">6 years 3 months<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated amount of dividends per share to be paid to holders of the underlying shares (expected dividends) over the option's term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>112
<FILENAME>R96.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364753026192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Share Plans - Summary of Stock Option Activity (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="4">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding, number of options (in shares)</a></td>
<td class="nump">1,342,131<span></span>
</td>
<td class="nump">1,528,690<span></span>
</td>
<td class="nump">1,592,686<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding, weighted average exercise price (in dollars per share)</a></td>
<td class="nump">$ 64.29<span></span>
</td>
<td class="nump">$ 49.08<span></span>
</td>
<td class="nump">$ 42.04<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Outstanding, weighted average remaining contractual term (Year)</a></td>
<td class="text">4 years 10 months 24 days<span></span>
</td>
<td class="text">5 years 6 months<span></span>
</td>
<td class="text">6 years 3 months 18 days<span></span>
</td>
<td class="text">6 years 10 months 24 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Outstanding, aggregate intrinsic value</a></td>
<td class="nump">$ 47,764<span></span>
</td>
<td class="nump">$ 386,069<span></span>
</td>
<td class="nump">$ 272,553<span></span>
</td>
<td class="nump">$ 93,242<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Granted, number of options (in shares)</a></td>
<td class="nump">109,266<span></span>
</td>
<td class="nump">70,392<span></span>
</td>
<td class="nump">173,650<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Granted, weighted average exercise price (in dollars per share)</a></td>
<td class="nump">$ 282.20<span></span>
</td>
<td class="nump">$ 335.70<span></span>
</td>
<td class="nump">$ 102.32<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised, number of options (in shares)</a></td>
<td class="num">(137,305)<span></span>
</td>
<td class="num">(229,921)<span></span>
</td>
<td class="num">(216,196)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Exercised, weighted average exercise price (in dollars per share)</a></td>
<td class="nump">$ 36.91<span></span>
</td>
<td class="nump">$ 45.95<span></span>
</td>
<td class="nump">$ 39.88<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod', window );">Forfeited, number of options (in shares)</a></td>
<td class="num">(45,688)<span></span>
</td>
<td class="num">(27,030)<span></span>
</td>
<td class="num">(21,450)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice', window );">Forfeited, weighted average exercise price (in dollars per share)</a></td>
<td class="nump">$ 194.05<span></span>
</td>
<td class="nump">$ 63.27<span></span>
</td>
<td class="nump">$ 50.25<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding, number of options (in shares)</a></td>
<td class="nump">1,268,404<span></span>
</td>
<td class="nump">1,342,131<span></span>
</td>
<td class="nump">1,528,690<span></span>
</td>
<td class="nump">1,592,686<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding, weighted average exercise price (in dollars per share)</a></td>
<td class="nump">$ 81.35<span></span>
</td>
<td class="nump">$ 64.29<span></span>
</td>
<td class="nump">$ 49.08<span></span>
</td>
<td class="nump">$ 42.04<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Exercisable, number of options (in shares)</a></td>
<td class="nump">982,934<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Exercisable, weighted average exercise price (in dollars per share)</a></td>
<td class="nump">$ 50.86<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>113
<FILENAME>R97.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364765683440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Share Plans - Summary of Restricted Share Awards Activity (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Non-vested (in shares)</a></td>
<td class="nump">365,965<span></span>
</td>
<td class="nump">456,194<span></span>
</td>
<td class="nump">491,637<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Non-vested (in dollars per share)</a></td>
<td class="nump">$ 124.25<span></span>
</td>
<td class="nump">$ 68.42<span></span>
</td>
<td class="nump">$ 52.84<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">287,821<span></span>
</td>
<td class="nump">126,339<span></span>
</td>
<td class="nump">183,868<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share)</a></td>
<td class="nump">$ 214.58<span></span>
</td>
<td class="nump">$ 223.09<span></span>
</td>
<td class="nump">$ 95.14<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="num">(234,284)<span></span>
</td>
<td class="num">(202,327)<span></span>
</td>
<td class="num">(200,390)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (in dollars per share)</a></td>
<td class="nump">$ 83.52<span></span>
</td>
<td class="nump">$ 58.99<span></span>
</td>
<td class="nump">$ 45.10<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited (in shares)</a></td>
<td class="num">(41,204)<span></span>
</td>
<td class="num">(14,241)<span></span>
</td>
<td class="num">(18,921)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited (in dollars per share)</a></td>
<td class="nump">$ 263.47<span></span>
</td>
<td class="nump">$ 138.64<span></span>
</td>
<td class="nump">$ 56.58<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Non-vested (in shares)</a></td>
<td class="nump">378,298<span></span>
</td>
<td class="nump">365,965<span></span>
</td>
<td class="nump">456,194<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>114
<FILENAME>R98.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364759528032">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 18 - Commitments and Contingencies (Details Textual) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Aug. 01, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Oct. 07, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_AmountFinancedByDealers', window );">Amount Financed by Dealers</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 212,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 115,900<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableGross', window );">Accounts Receivable, before Allowance for Credit Loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 550,122<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_CounterpartyNameAxis=gnrc_PowerHomeSolarLlcMember', window );">Power Home Solar, LLC [Member] | Collectibility of Receivables [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableGross', window );">Accounts Receivable, before Allowance for Credit Loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_LitigationCaseAxis=gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember', window );">Power Home Solar, LLC Against Generac Power Systems, Inc. [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyDamagesSoughtValue', window );">Loss Contingency, Damages Sought, Value</a></td>
<td class="nump">$ 25,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_AmountFinancedByDealers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount financed by dealers to purchase goods from the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_AmountFinancedByDealers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingencyDamagesSoughtValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The value (monetary amount) of the award the plaintiff seeks in the legal matter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14435-108349<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14326-108349<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14557-108349<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingencyDamagesSoughtValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CounterpartyNameAxis=gnrc_PowerHomeSolarLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CounterpartyNameAxis=gnrc_PowerHomeSolarLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingenciesByNatureOfContingencyAxis=us-gaap_CollectibilityOfReceivablesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingenciesByNatureOfContingencyAxis=us-gaap_CollectibilityOfReceivablesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_LitigationCaseAxis=gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_LitigationCaseAxis=gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>115
<FILENAME>R99.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364752848112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 19 - Quarterly Financial Information (Unaudited) - Unaudited Quarterly Financial Information (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 1,049,232<span></span>
</td>
<td class="nump">$ 1,088,258<span></span>
</td>
<td class="nump">$ 1,291,391<span></span>
</td>
<td class="nump">$ 1,135,856<span></span>
</td>
<td class="nump">$ 1,067,071<span></span>
</td>
<td class="nump">$ 942,698<span></span>
</td>
<td class="nump">$ 919,981<span></span>
</td>
<td class="nump">$ 807,434<span></span>
</td>
<td class="nump">$ 4,564,737<span></span>
</td>
<td class="nump">$ 3,737,184<span></span>
</td>
<td class="nump">$ 2,485,200<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">343,167<span></span>
</td>
<td class="nump">361,104<span></span>
</td>
<td class="nump">456,985<span></span>
</td>
<td class="nump">360,748<span></span>
</td>
<td class="nump">362,539<span></span>
</td>
<td class="nump">335,994<span></span>
</td>
<td class="nump">339,735<span></span>
</td>
<td class="nump">321,814<span></span>
</td>
<td class="nump">1,522,004<span></span>
</td>
<td class="nump">1,360,082<span></span>
</td>
<td class="nump">957,654<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">107,228<span></span>
</td>
<td class="nump">87,523<span></span>
</td>
<td class="nump">216,844<span></span>
</td>
<td class="nump">154,735<span></span>
</td>
<td class="nump">175,481<span></span>
</td>
<td class="nump">173,579<span></span>
</td>
<td class="nump">182,952<span></span>
</td>
<td class="nump">189,124<span></span>
</td>
<td class="nump">566,330<span></span>
</td>
<td class="nump">721,136<span></span>
</td>
<td class="nump">479,106<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income attributable to Generac Holdings Inc.</a></td>
<td class="nump">$ 71,015<span></span>
</td>
<td class="nump">$ 58,270<span></span>
</td>
<td class="nump">$ 156,359<span></span>
</td>
<td class="nump">$ 113,858<span></span>
</td>
<td class="nump">$ 142,895<span></span>
</td>
<td class="nump">$ 131,570<span></span>
</td>
<td class="nump">$ 127,036<span></span>
</td>
<td class="nump">$ 148,993<span></span>
</td>
<td class="nump">$ 399,502<span></span>
</td>
<td class="nump">$ 550,494<span></span>
</td>
<td class="nump">$ 350,576<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Net income attributable to common shareholders per common share - basic: (in dollars per share)</a></td>
<td class="nump">$ 0.84<span></span>
</td>
<td class="nump">$ 0.84<span></span>
</td>
<td class="nump">$ 2.24<span></span>
</td>
<td class="nump">$ 1.61<span></span>
</td>
<td class="nump">$ 2.09<span></span>
</td>
<td class="nump">$ 1.98<span></span>
</td>
<td class="nump">$ 2.06<span></span>
</td>
<td class="nump">$ 2.39<span></span>
</td>
<td class="nump">$ 5.55<span></span>
</td>
<td class="nump">$ 8.51<span></span>
</td>
<td class="nump">$ 5.61<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Net income attributable to common shareholders per common share - diluted: (in dollars per share)</a></td>
<td class="nump">$ 0.83<span></span>
</td>
<td class="nump">$ 0.83<span></span>
</td>
<td class="nump">$ 2.21<span></span>
</td>
<td class="nump">$ 1.57<span></span>
</td>
<td class="nump">$ 2.04<span></span>
</td>
<td class="nump">$ 1.93<span></span>
</td>
<td class="nump">$ 2.01<span></span>
</td>
<td class="nump">$ 2.33<span></span>
</td>
<td class="nump">$ 5.42<span></span>
</td>
<td class="nump">$ 8.30<span></span>
</td>
<td class="nump">$ 5.48<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>116
<FILENAME>R100.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.4</span><table class="report" border="0" cellspacing="2" id="idm140364748667184">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Note 20 - Valuation and Qualifying Accounts - Schedule of Valuation and Qualifying Accounts (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember', window );">SEC Schedule, 12-09, Allowance, Credit Loss [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Beginning</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 12,025<span></span>
</td>
<td class="nump">$ 12,001<span></span>
</td>
<td class="nump">$ 6,968<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Additions Charged to Earnings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">17,966<span></span>
</td>
<td class="nump">206<span></span>
</td>
<td class="nump">4,645<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts', window );">Allowance for credit losses</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,147<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesPeriodIncreaseDecrease', window );">Charges to Reserve, Net</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="num">(2,825)<span></span>
</td>
<td class="num">(1,640)<span></span>
</td>
<td class="num">(957)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired', window );">Reserves Assumed in Acquisition</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">498<span></span>
</td>
<td class="nump">1,458<span></span>
</td>
<td class="nump">198<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at End of Year</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">27,664<span></span>
</td>
<td class="nump">12,025<span></span>
</td>
<td class="nump">12,001<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_InventoryValuationReserveMember', window );">SEC Schedule, 12-09, Reserve, Inventory [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Beginning</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">33,537<span></span>
</td>
<td class="nump">27,817<span></span>
</td>
<td class="nump">24,293<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Additions Charged to Earnings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">9,656<span></span>
</td>
<td class="nump">17,698<span></span>
</td>
<td class="nump">11,353<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts', window );">Allowance for credit losses</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesPeriodIncreaseDecrease', window );">Charges to Reserve, Net</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="num">(4,737)<span></span>
</td>
<td class="num">(15,749)<span></span>
</td>
<td class="num">(8,788)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired', window );">Reserves Assumed in Acquisition</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,258<span></span>
</td>
<td class="nump">3,771<span></span>
</td>
<td class="nump">959<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at End of Year</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">39,714<span></span>
</td>
<td class="nump">33,537<span></span>
</td>
<td class="nump">27,817<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember', window );">SEC Schedule, 12-09, Valuation Allowance, Deferred Tax Asset [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Beginning</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">7,874<span></span>
</td>
<td class="nump">5,740<span></span>
</td>
<td class="nump">5,024<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Additions Charged to Earnings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">649<span></span>
</td>
<td class="nump">1,404<span></span>
</td>
<td class="nump">716<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts', window );">Allowance for credit losses</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesPeriodIncreaseDecrease', window );">Charges to Reserve, Net</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="num">(1,501)<span></span>
</td>
<td class="num">(2,441)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_gnrc_SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired', window );">Reserves Assumed in Acquisition</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(2,384)<span></span>
</td>
<td class="nump">3,171<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at End of Year</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 4,638<span></span>
</td>
<td class="nump">$ 7,874<span></span>
</td>
<td class="nump">$ 5,740<span></span>
</td>
</tr>
<tr><td colspan="4"></td></tr>
<tr><td colspan="4"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">Result of adopting ASU 2016-13, Financial Instruments &#8211; Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top">Deductions from the allowance for doubtful accounts equal accounts receivable written off against the allowance, less recoveries, as well as foreign currency
translation adjustments. Deductions from the reserves for inventory excess and obsolete items equal inventory written off against the reserve as items were disposed
of, as well as foreign currency translation adjustments.</td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_gnrc_SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in valuation and qualifying accounts and reserves from business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">gnrc_SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>gnrc_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesBalance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column B))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column E))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesBalance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column C)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in valuation and qualifying accounts and reserves from charge to accounts other than cost and expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column C)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_InventoryValuationReserveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_InventoryValuationReserveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>117
<FILENAME>gnrc20221231_10k_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2022"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:gnrc="http://www.generac.com/20221231"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:thunderdome="http://www.RDGFilings.com"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="gnrc-20221231.xsd" xlink:type="simple"/>
    <context id="d_2022-01-01_2022-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2023-02-17">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <instant>2023-02-17</instant>
        </period>
    </context>
    <context id="i_2022-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i_2019-12-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i_2019-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i_2019-12-31_StatementEquityComponentsAxis-TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i_2019-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:ExcessPurchasePriceOverPredecessorBasisMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i_2019-12-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i_2019-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i_2019-12-31_StatementEquityComponentsAxis-ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i_2019-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i_2019-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:ExcessPurchasePriceOverPredecessorBasisMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:ExcessPurchasePriceOverPredecessorBasisMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i_2020-12-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:ExcessPurchasePriceOverPredecessorBasisMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31_StatementEquityComponentsAxis-ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:ExcessPurchasePriceOverPredecessorBasisMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:ExcessPurchasePriceOverPredecessorBasisMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementEquityComponentsAxis-ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:ExcessPurchasePriceOverPredecessorBasisMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:ExcessPurchasePriceOverPredecessorBasisMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_StatementEquityComponentsAxis-ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">gnrc:OneCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">gnrc:OneCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-NoCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">gnrc:NoCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-NoCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">gnrc:NoCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-NoCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">gnrc:NoCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-07-01_2022-09-30_ProductOrServiceAxis-CleanEnergyProductMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CleanEnergyProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandImprovementsMember_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandImprovementsMember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-DiesAndToolsMember_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">gnrc:DiesAndToolsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-DiesAndToolsMember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">gnrc:DiesAndToolsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-OfficeEquipmentMember_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-OfficeEquipmentMember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_LongtermDebtTypeAxis-TermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OtherAccruedLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_BalanceSheetLocationAxis-OtherLongtermLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OtherLongtermLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OtherAccruedLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_BalanceSheetLocationAxis-OtherLongtermLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OtherLongtermLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">gnrc:ContingentConsiderationLiabilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">gnrc:ContingentConsiderationLiabilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">gnrc:ContingentConsiderationLiabilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-AcquisitionOfOffGridEnergyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfOffGridEnergyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-EcobeeIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:EcobeeIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-EECAndBluePillarMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:EECAndBluePillarMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-06-01_2021-06-01_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfDeepSeaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-06-01</startDate>
            <endDate>2021-06-01</endDate>
        </period>
    </context>
    <context id="i_2021-06-01_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfDeepSeaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-01</instant>
        </period>
    </context>
    <context id="d_2021-07-02_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfChiliconMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-02</startDate>
            <endDate>2021-07-02</endDate>
        </period>
    </context>
    <context id="i_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfChiliconMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-02</instant>
        </period>
    </context>
    <context id="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-AcquisitionOfOffGridEnergyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfOffGridEnergyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-01</startDate>
            <endDate>2021-09-01</endDate>
        </period>
    </context>
    <context id="i_2021-09-01_BusinessAcquisitionAxis-AcquisitionOfOffGridEnergyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfOffGridEnergyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-01</instant>
        </period>
    </context>
    <context id="d_2022-07-01_2022-09-30_BusinessAcquisitionAxis-AcquisitionOfOffGridEnergyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfOffGridEnergyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="d_2021-12-01_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:EcobeeIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-12-01_2021-12-01_BusinessAcquisitionAxis-EcobeeIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:EcobeeIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-01</startDate>
            <endDate>2021-12-01</endDate>
        </period>
    </context>
    <context id="d_2022-10-01_2022-12-31_BusinessAcquisitionAxis-EcobeeIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:EcobeeIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-03-31_BusinessAcquisitionAxis-EcobeeIncMember_StatementScenarioAxis-ScenarioForecastMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:EcobeeIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i_2021-12-01_BusinessAcquisitionAxis-EcobeeIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:EcobeeIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-01</instant>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_BusinessAcquisitionAxis-Other2021AcquisitionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:Other2021AcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-10-07_2020-10-07_BusinessAcquisitionAxis-AcquisitionOfEnbalaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfEnbalaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-07</startDate>
            <endDate>2020-10-07</endDate>
        </period>
    </context>
    <context id="i_2020-10-07_BusinessAcquisitionAxis-AcquisitionOfEnbalaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfEnbalaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-07</instant>
        </period>
    </context>
    <context id="d_2020-07-01_2020-09-30_BusinessAcquisitionAxis-Other2020AcquisitionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:Other2020AcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:The2022AcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AcquisitionOfDeepSeaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:EcobeeIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AllOther2021AcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:The2021AcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:The2020AcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_StatementScenarioAxis-ProFormaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ProFormaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_StatementScenarioAxis-ProFormaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ProFormaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_StatementScenarioAxis-ProFormaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ProFormaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-AllAcquisitionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AllAcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_BusinessAcquisitionAxis-AllAcquisitionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AllAcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_BusinessAcquisitionAxis-AllAcquisitionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:AllAcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i_2016-03-01_BusinessAcquisitionAxis-PramacMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:PramacMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-03-01</instant>
        </period>
    </context>
    <context id="i_2016-03-01_OwnershipAxis-PramacMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">gnrc:PramacMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-03-01</instant>
        </period>
    </context>
    <context id="d_2019-02-01_2019-02-28_BusinessAcquisitionAxis-PramacMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:PramacMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-02-01</startDate>
            <endDate>2019-02-28</endDate>
        </period>
    </context>
    <context id="d_2021-05-01_2021-05-31_BusinessAcquisitionAxis-PramacMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:PramacMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-05-31</endDate>
        </period>
    </context>
    <context id="i_2021-05-31_BusinessAcquisitionAxis-PramacMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:PramacMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-05-31</instant>
        </period>
    </context>
    <context id="i_2021-05-31_OwnershipAxis-PramacMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">gnrc:PramacMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-05-31</instant>
        </period>
    </context>
    <context id="i_2019-02-01_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:CaptivaEnergySolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-02-01</instant>
        </period>
    </context>
    <context id="i_2019-02-01_OwnershipAxis-CaptivaEnergySolutionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">gnrc:CaptivaEnergySolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-02-01</instant>
        </period>
    </context>
    <context id="d_2019-02-01_2019-02-01_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:CaptivaEnergySolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-02-01</startDate>
            <endDate>2019-02-01</endDate>
        </period>
    </context>
    <context id="i_2022-03-31_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:CaptivaEnergySolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="d_2022-03-01_2022-03-31_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:CaptivaEnergySolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i_2022-05-31_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:CaptivaEnergySolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-31</instant>
        </period>
    </context>
    <context id="d_2022-05-01_2022-05-31_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gnrc:CaptivaEnergySolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-05-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_OwnershipAxis-CaptivaEnergySolutionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">gnrc:CaptivaEnergySolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:RedeemableNoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:RedeemableNoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i_2019-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:RedeemableNoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:RedeemableNoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:RedeemableNoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:RedeemableNoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">gnrc:RedeemableNoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_DerivativeInstrumentRiskAxis-CommodityContractMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:CommodityContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_DerivativeInstrumentRiskAxis-CommodityContractMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:CommodityContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_DerivativeInstrumentRiskAxis-CommodityContractMember_HedgingDesignationAxis-NondesignatedMember_IncomeStatementLocationAxis-CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:CommodityContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_DerivativeInstrumentRiskAxis-CommodityContractMember_HedgingDesignationAxis-NondesignatedMember_IncomeStatementLocationAxis-CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:CommodityContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_DerivativeInstrumentRiskAxis-CommodityContractMember_HedgingDesignationAxis-NondesignatedMember_IncomeStatementLocationAxis-CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:CommodityContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_DerivativeInstrumentRiskAxis-ForeignExchangeContractMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_DerivativeInstrumentRiskAxis-ForeignExchangeContractMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2017-01-01_2017-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-03-01_2020-03-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-03-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_DerivativeInstrumentRiskAxis-ForeignExchangeContractMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_DerivativeInstrumentRiskAxis-ForeignExchangeContractMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ResidentialPowerProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ResidentialPowerProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ResidentialPowerProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CommercialAndIndustrialPowerProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CommercialAndIndustrialPowerProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CommercialAndIndustrialPowerProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:OtherProductsAndServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:OtherProductsAndServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:OtherProductsAndServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ResidentialPowerProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ResidentialPowerProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ResidentialPowerProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CommercialAndIndustrialPowerProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CommercialAndIndustrialPowerProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CommercialAndIndustrialPowerProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:OtherProductsAndServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:OtherProductsAndServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:OtherProductsAndServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ResidentialPowerProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ResidentialPowerProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ResidentialPowerProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CommercialAndIndustrialPowerProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CommercialAndIndustrialPowerProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CommercialAndIndustrialPowerProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:OtherProductsAndServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:OtherProductsAndServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:OtherProductsAndServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-ExternalNetSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-ExternalNetSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-IntersegmentSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-IntersegmentSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-ExternalNetSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-ExternalNetSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-IntersegmentSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ProductOrServiceAxis-IntersegmentSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-ExternalNetSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-ExternalNetSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:ExternalNetSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-IntersegmentSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ProductOrServiceAxis-IntersegmentSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:IntersegmentSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ProductOrServiceAxis-CleanEnergyProductMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gnrc:CleanEnergyProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31_StatementBusinessSegmentsAxis-DomesticMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:DomesticMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31_StatementBusinessSegmentsAxis-InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gnrc:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ConcentrationRiskByBenchmarkAxis-NetAssetsGeographicAreaMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:NetAssetsGeographicAreaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-NetAssetsGeographicAreaMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:NetAssetsGeographicAreaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandAndLandImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandAndLandImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-LandAndLandImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandAndLandImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-DiesAndToolsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">gnrc:DiesAndToolsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-DiesAndToolsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">gnrc:DiesAndToolsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-OfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-OfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerListsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerListsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerListsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsAndTechnologyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">gnrc:PatentsAndTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsAndTechnologyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">gnrc:PatentsAndTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsAndTechnologyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">gnrc:PatentsAndTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ComputerSoftwareIntangibleAssetMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ComputerSoftwareIntangibleAssetMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_BalanceSheetLocationAxis-OperatingLeaseAndOtherAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OperatingLeaseAndOtherAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_BalanceSheetLocationAxis-OperatingLeaseAndOtherAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OperatingLeaseAndOtherAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_BalanceSheetLocationAxis-OperatingLeaseAndOtherLongtermLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OperatingLeaseAndOtherLongtermLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_BalanceSheetLocationAxis-OperatingLeaseAndOtherLongtermLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OperatingLeaseAndOtherLongtermLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_BalanceSheetLocationAxis-FinanceLeaseAndOtherAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:FinanceLeaseAndOtherAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_BalanceSheetLocationAxis-FinanceLeaseAndOtherAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:FinanceLeaseAndOtherAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_BalanceSheetLocationAxis-CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_BalanceSheetLocationAxis-CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_BalanceSheetLocationAxis-FinanceLeaseAndOtherLongtermLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:FinanceLeaseAndOtherLongtermLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_BalanceSheetLocationAxis-FinanceLeaseAndOtherLongtermLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:FinanceLeaseAndOtherLongtermLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gnrc:OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2022-07-01_2022-09-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-01-01">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2024-01-01">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2024-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2025-01-01">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2025-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2026-01-01">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2026-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2027-01-01">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2027-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_LongtermDebtTypeAxis-TrancheATermLoanFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheATermLoanFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_LongtermDebtTypeAxis-TrancheATermLoanFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheATermLoanFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_DebtInstrumentAxis-TrancheATermLoanFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">gnrc:TrancheATermLoanFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_DebtInstrumentAxis-TrancheBTermLoanFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_DebtInstrumentAxis-ABLRevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2013-05-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2013-05-31</instant>
        </period>
    </context>
    <context id="d_2013-05-31_2013-05-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_VariableRateAxis-BaseRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2013-05-31</startDate>
            <endDate>2013-05-31</endDate>
        </period>
    </context>
    <context id="d_2013-05-31_2013-05-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_VariableRateAxis-AdjustedLIBORRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">gnrc:AdjustedLIBORRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2013-05-31</startDate>
            <endDate>2013-05-31</endDate>
        </period>
    </context>
    <context id="d_2013-05-31_2013-05-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_VariableRateAxis-LIBORFloorRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">gnrc:LIBORFloorRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2013-05-31</startDate>
            <endDate>2013-05-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_VariableRateAxis-BaseRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_VariableRateAxis-SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_LongtermDebtTypeAxis-TermLoanMember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2015-05-01_2015-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_VariableRateAxis-BaseRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2015-05-01</startDate>
            <endDate>2015-05-31</endDate>
        </period>
    </context>
    <context id="d_2015-05-01_2015-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_VariableRateAxis-AdjustedLIBORRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">gnrc:AdjustedLIBORRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2015-05-01</startDate>
            <endDate>2015-05-31</endDate>
        </period>
    </context>
    <context id="i_2021-05-01_CreditFacilityAxis-ABLRevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-05-01</instant>
        </period>
    </context>
    <context id="i_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-05-31</instant>
        </period>
    </context>
    <context id="d_2021-05-01_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_RangeAxis-MinimumMember_VariableRateAxis-BaseRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-05-31</endDate>
        </period>
    </context>
    <context id="d_2021-05-01_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_RangeAxis-MaximumMember_VariableRateAxis-BaseRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-05-31</endDate>
        </period>
    </context>
    <context id="d_2021-05-01_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_RangeAxis-MinimumMember_VariableRateAxis-LondonInterbankOfferedRateLIBORMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-05-31</endDate>
        </period>
    </context>
    <context id="d_2021-05-01_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_RangeAxis-MaximumMember_VariableRateAxis-LondonInterbankOfferedRateLIBORMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-05-31</endDate>
        </period>
    </context>
    <context id="d_2021-05-01_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-05-31</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i_2022-06-30_LongtermDebtTypeAxis-TrancheATermLoanFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheATermLoanFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i_2022-06-30_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheATermLoanFacilityAndRevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="d_2022-06-01_2022-06-30_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheBTermLoanFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember_VariableRateAxis-SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheATermLoanFacilityAndRevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheATermLoanFacilityAndRevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="d_2023-01-01_2023-01-01_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember_RangeAxis-MinimumMember_StatementScenarioAxis-ScenarioForecastMember_VariableRateAxis-SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheATermLoanFacilityAndRevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-01-01</endDate>
        </period>
    </context>
    <context id="d_2023-01-01_2023-01-01_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember_RangeAxis-MaximumMember_StatementScenarioAxis-ScenarioForecastMember_VariableRateAxis-SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gnrc:TrancheATermLoanFacilityAndRevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-01-01</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-06-01_2022-06-30_CreditFacilityAxis-ABLRevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">gnrc:ABLRevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i_2020-09-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="d_2020-09-01_2020-09-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <startDate>2020-09-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i_2022-08-05">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <instant>2022-08-05</instant>
        </period>
    </context>
    <context id="d_2022-08-05_2022-08-05">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <startDate>2022-08-05</startDate>
            <endDate>2022-08-05</endDate>
        </period>
    </context>
    <context id="d_2015-08-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2015-08-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2015-08-01_2022-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <startDate>2015-08-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_RetirementPlanTypeAxis-SavingsPlan401kMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">gnrc:SavingsPlan401kMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_RetirementPlanTypeAxis-SavingsPlan401kMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">gnrc:SavingsPlan401kMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_RetirementPlanTypeAxis-SavingsPlan401kMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">gnrc:SavingsPlan401kMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i_2010-02-10">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <instant>2010-02-10</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_PlanNameAxis-EquityIncentivePlanPlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gnrc:EquityIncentivePlanPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_PlanNameAxis-EquityIncentivePlanPlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gnrc:EquityIncentivePlanPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_PlanNameAxis-EquityIncentivePlanPlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gnrc:EquityIncentivePlanPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i_2019-06-13_PlanNameAxis-The2019EquityIncentivePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gnrc:The2019EquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-13</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_PlanNameAxis-The2019EquityIncentivePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gnrc:The2019EquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_PlanNameAxis-The2019EquityIncentivePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gnrc:The2019EquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_PlanNameAxis-The2019EquityIncentivePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gnrc:The2019EquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_AwardTypeAxis-EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2019-01-01_2019-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_AwardTypeAxis-RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_AwardTypeAxis-PerformanceSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2022-12-31_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_AwardTypeAxis-RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_AwardTypeAxis-RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_AwardTypeAxis-RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_AwardTypeAxis-RestrictedStockAndPerformanceSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">gnrc:RestrictedStockAndPerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_AwardTypeAxis-RestrictedStockAndPerformanceSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">gnrc:RestrictedStockAndPerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_AwardTypeAxis-RestrictedStockAndPerformanceSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">gnrc:RestrictedStockAndPerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:BoardOfDirectorsChairmanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:BoardOfDirectorsChairmanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:BoardOfDirectorsChairmanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="d_2022-08-01_2022-08-01_LitigationCaseAxis-PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">gnrc:PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-08-01</endDate>
        </period>
    </context>
    <context id="i_2022-10-07_CounterpartyNameAxis-PowerHomeSolarLlcMember_LossContingenciesByNatureOfContingencyAxis-CollectibilityOfReceivablesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">gnrc:PowerHomeSolarLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">us-gaap:CollectibilityOfReceivablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-07</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="d_2022-04-01_2022-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="d_2022-10-01_2022-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="d_2021-01-01_2021-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="d_2021-04-01_2021-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="d_2021-07-01_2021-09-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="d_2021-10-01_2021-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i_2021-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2021-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i_2022-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i_2020-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i_2020-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i_2020-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i_2019-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i_2019-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i_2019-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001474735</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Share">
        <measure>shares</measure>
    </unit>
    <unit id="NonApplicable">
        <measure>thunderdome:item</measure>
    </unit>
    <unit id="USDPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <unit id="Year">
        <measure>utr:Y</measure>
    </unit>
    <unit id="Month">
        <measure>utr:M</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="d_2022-01-01_2022-12-31"
      id="thunderdome-EntityCentralIndexKey">0001474735</dei:EntityCentralIndexKey>
    <dei:EntityRegistrantName
      contextRef="d_2022-01-01_2022-12-31"
      id="thunderdome-EntityRegistrantName">GENERAC HOLDINGS INC.</dei:EntityRegistrantName>
    <dei:AmendmentFlag contextRef="d_2022-01-01_2022-12-31">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate contextRef="d_2022-01-01_2022-12-31">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalPeriodFocus contextRef="d_2022-01-01_2022-12-31">FY</dei:DocumentFiscalPeriodFocus>
    <dei:DocumentFiscalYearFocus contextRef="d_2022-01-01_2022-12-31">2022</dei:DocumentFiscalYearFocus>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262644"
      unitRef="USD">27664000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262645"
      unitRef="USD">12025000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i_2022-12-31"
      decimals="INF"
      id="c93262699"
      unitRef="USDPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i_2021-12-31"
      decimals="INF"
      id="c93262700"
      unitRef="USDPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i_2022-12-31"
      decimals="INF"
      id="c93262701"
      unitRef="Share">500000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i_2021-12-31"
      decimals="INF"
      id="c93262702"
      unitRef="Share">500000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="i_2022-12-31"
      decimals="INF"
      id="c93262703"
      unitRef="Share">72701257</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="i_2021-12-31"
      decimals="INF"
      id="c93262704"
      unitRef="Share">72386017</us-gaap:CommonStockSharesIssued>
    <us-gaap:TreasuryStockShares
      contextRef="i_2022-12-31"
      decimals="INF"
      id="c93262709"
      unitRef="Share">11284350</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockShares
      contextRef="i_2021-12-31"
      decimals="INF"
      id="c93262710"
      unitRef="Share">8667031</us-gaap:TreasuryStockShares>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93262930"
      unitRef="USD">-4826000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263040"
      unitRef="USD">6933000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263172"
      unitRef="USD">12858000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax>
    <gnrc:NumberOfMajorCustomers
      contextRef="d_2020-01-01_2020-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"
      decimals="-3"
      id="c93263446"
      unitRef="Pure">0</gnrc:NumberOfMajorCustomers>
    <gnrc:NumberOfMajorCustomers
      contextRef="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"
      decimals="-3"
      id="c93263449"
      unitRef="Pure">0</gnrc:NumberOfMajorCustomers>
    <gnrc:NumberOfMajorCustomers
      contextRef="d_2022-01-01_2022-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"
      decimals="-3"
      id="c93263452"
      unitRef="Pure">0</gnrc:NumberOfMajorCustomers>
    <us-gaap:GoodwillAndIntangibleAssetImpairment
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263514"
      unitRef="USD">0</us-gaap:GoodwillAndIntangibleAssetImpairment>
    <us-gaap:GoodwillAndIntangibleAssetImpairment
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263515"
      unitRef="USD">0</us-gaap:GoodwillAndIntangibleAssetImpairment>
    <us-gaap:GoodwillAndIntangibleAssetImpairment
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263516"
      unitRef="USD">0</us-gaap:GoodwillAndIntangibleAssetImpairment>
    <gnrc:DeferredCostsAmortizationExpenseNextTwelveMonths
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93263527"
      unitRef="USD">3885000</gnrc:DeferredCostsAmortizationExpenseNextTwelveMonths>
    <gnrc:DeferredCostsAmortizationExpenseYearTwo
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93263529"
      unitRef="USD">3923000</gnrc:DeferredCostsAmortizationExpenseYearTwo>
    <gnrc:DeferredCostsAmortizationExpenseYearThree
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93263531"
      unitRef="USD">3919000</gnrc:DeferredCostsAmortizationExpenseYearThree>
    <gnrc:DeferredCostsAmortizationExpenseYearFour
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93263533"
      unitRef="USD">3819000</gnrc:DeferredCostsAmortizationExpenseYearFour>
    <gnrc:DeferredCostsAmortizationExpenseYearFive
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93263535"
      unitRef="USD">1028000</gnrc:DeferredCostsAmortizationExpenseYearFive>
    <gnrc:NoncontrollingInterestAgreementExtensionOfTerm
      contextRef="d_2019-02-01_2019-02-28_BusinessAcquisitionAxis-PramacMember"
      id="c93263915">P5Y</gnrc:NoncontrollingInterestAgreementExtensionOfTerm>
    <gnrc:NoncontrollingInterestAgreementExtensionOfTerm
      contextRef="d_2021-05-01_2021-05-31_BusinessAcquisitionAxis-PramacMember"
      id="c93263922">P2Y</gnrc:NoncontrollingInterestAgreementExtensionOfTerm>
    <gnrc:BusinessAcquisitionNoncontrollingInterestTermOfPutOption
      contextRef="d_2019-02-01_2019-02-01_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember"
      id="c93263927">P5Y</gnrc:BusinessAcquisitionNoncontrollingInterestTermOfPutOption>
    <gnrc:BusinessAcquisitionNoncontrollingInterestTermOfPutOption
      contextRef="d_2019-02-01_2019-02-01_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember"
      id="c93263928">P5Y</gnrc:BusinessAcquisitionNoncontrollingInterestTermOfPutOption>
    <gnrc:BusinessAcquisitionTermOfCallOption
      contextRef="d_2019-02-01_2019-02-01_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember"
      id="c93263934">P5Y</gnrc:BusinessAcquisitionTermOfCallOption>
    <us-gaap:DerivativeNumberOfInstrumentsHeld
      contextRef="i_2021-12-31_DerivativeInstrumentRiskAxis-CommodityContractMember"
      decimals="-3"
      id="c93263965"
      unitRef="Pure">0</us-gaap:DerivativeNumberOfInstrumentsHeld>
    <us-gaap:DerivativeNumberOfInstrumentsHeld
      contextRef="i_2022-12-31_DerivativeInstrumentRiskAxis-ForeignExchangeContractMember"
      decimals="INF"
      id="c93263974"
      unitRef="Pure">34</us-gaap:DerivativeNumberOfInstrumentsHeld>
    <us-gaap:DerivativeNumberOfInstrumentsHeld
      contextRef="i_2021-12-31_DerivativeInstrumentRiskAxis-ForeignExchangeContractMember"
      decimals="INF"
      id="c93263975"
      unitRef="Pure">11</us-gaap:DerivativeNumberOfInstrumentsHeld>
    <gnrc:NumberOfNewContractsEntered
      contextRef="d_2017-01-01_2017-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember"
      decimals="INF"
      id="c93263985"
      unitRef="Pure">20</gnrc:NumberOfNewContractsEntered>
    <gnrc:NumberOfNewContractsEntered
      contextRef="d_2020-03-01_2020-03-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember"
      decimals="INF"
      id="c93263987"
      unitRef="Pure">3</gnrc:NumberOfNewContractsEntered>
    <gnrc:NumberOfNewContractsEntered
      contextRef="d_2022-01-01_2022-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember"
      decimals="INF"
      id="c93263988"
      unitRef="Pure">7</gnrc:NumberOfNewContractsEntered>
    <us-gaap:DerivativeFairValueOfDerivativeNet
      contextRef="i_2021-12-31_DerivativeInstrumentRiskAxis-ForeignExchangeContractMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member"
      decimals="-3"
      id="c93264001"
      unitRef="USD">-36000</us-gaap:DerivativeFairValueOfDerivativeNet>
    <us-gaap:NumberOfReportableSegments
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93264071"
      unitRef="Pure">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264359"
      unitRef="USD">99512000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c93264361"
      unitRef="USD">94070000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264363"
      unitRef="USD">89561000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264365"
      unitRef="USD">82392000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <gnrc:ExtendedWarrantyTerm
      contextRef="d_2022-01-01_2022-12-31_RangeAxis-MinimumMember"
      id="c93264605">P5Y</gnrc:ExtendedWarrantyTerm>
    <gnrc:ExtendedWarrantyTerm
      contextRef="d_2022-01-01_2022-12-31_RangeAxis-MaximumMember"
      id="c93264606">P10Y</gnrc:ExtendedWarrantyTerm>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-01-01"
      id="c93264675">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2024-01-01"
      id="c93264677">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2025-01-01"
      id="c93264679">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2026-01-01"
      id="c93264681">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2027-01-01"
      id="c93264683">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:LongTermDebtMaturityDate
      contextRef="i_2022-06-30_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember"
      id="c93264783">2027-06-29</us-gaap:LongTermDebtMaturityDate>
    <gnrc:SharesAcquiredUnderStockRepurchasesProgramShares
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93264850"
      unitRef="Share">0</gnrc:SharesAcquiredUnderStockRepurchasesProgramShares>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2020-01-01_2020-12-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember"
      decimals="-3"
      id="c93264865"
      unitRef="Share">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:DeferredTaxLiabilities
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93265016"
      unitRef="USD">112945000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93265017"
      unitRef="USD">190223000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      id="c93265126">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      id="c93265127">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-RestrictedStockMember"
      id="c93265161">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <gnrc:SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod
      contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-PerformanceSharesMember"
      id="c93265162">P3Y</gnrc:SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod>
    <dei:DocumentType contextRef="d_2022-01-01_2022-12-31">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="d_2022-01-01_2022-12-31">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="d_2022-01-01_2022-12-31">2022-12-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="d_2022-01-01_2022-12-31">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="d_2022-01-01_2022-12-31">001-34627</dei:EntityFileNumber>
    <dei:EntityIncorporationStateCountryCode contextRef="d_2022-01-01_2022-12-31">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="d_2022-01-01_2022-12-31">20-5654756</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="d_2022-01-01_2022-12-31">S45 W29290 Hwy 59</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="d_2022-01-01_2022-12-31">Waukesha</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="d_2022-01-01_2022-12-31">WI</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="d_2022-01-01_2022-12-31">53189</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="d_2022-01-01_2022-12-31">262</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="d_2022-01-01_2022-12-31">544-4811</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="d_2022-01-01_2022-12-31">Common Stock, $0.01 par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="d_2022-01-01_2022-12-31">GNRC</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="d_2022-01-01_2022-12-31">NYSE</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer contextRef="d_2022-01-01_2022-12-31">Yes</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="d_2022-01-01_2022-12-31">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="d_2022-01-01_2022-12-31">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="d_2022-01-01_2022-12-31">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="d_2022-01-01_2022-12-31">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="d_2022-01-01_2022-12-31">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="d_2022-01-01_2022-12-31">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag contextRef="d_2022-01-01_2022-12-31">true</dei:IcfrAuditorAttestationFlag>
    <dei:EntityShellCompany contextRef="d_2022-01-01_2022-12-31">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat contextRef="i_2022-06-30" decimals="INF" unitRef="USD">13014830988</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding contextRef="i_2023-02-17" decimals="INF" unitRef="Share">61887460</dei:EntityCommonStockSharesOutstanding>
    <dei:AuditorName contextRef="d_2022-01-01_2022-12-31">Deloitte &amp; Touche LLP</dei:AuditorName>
    <dei:AuditorLocation contextRef="d_2022-01-01_2022-12-31">Milwaukee, Wisconsin</dei:AuditorLocation>
    <dei:AuditorName contextRef="d_2022-01-01_2022-12-31">Deloitte &amp; Touche LLP</dei:AuditorName>
    <dei:AuditorLocation contextRef="d_2022-01-01_2022-12-31">Milwaukee, Wisconsin</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262640"
      unitRef="USD">132723000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262641"
      unitRef="USD">147339000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262642"
      unitRef="USD">522458000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262643"
      unitRef="USD">546466000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262646"
      unitRef="USD">1405384000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262647"
      unitRef="USD">1089705000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262648"
      unitRef="USD">121783000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262649"
      unitRef="USD">64954000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262650"
      unitRef="USD">2182348000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262651"
      unitRef="USD">1848464000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262652"
      unitRef="USD">467604000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262653"
      unitRef="USD">440852000</us-gaap:PropertyPlantAndEquipmentNet>
    <gnrc:FiniteLivedCustomerListsNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262654"
      unitRef="USD">206987000</gnrc:FiniteLivedCustomerListsNet>
    <gnrc:FiniteLivedCustomerListsNet
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262655"
      unitRef="USD">238722000</gnrc:FiniteLivedCustomerListsNet>
    <gnrc:FiniteLivedPatentsAndTechnologyNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262656"
      unitRef="USD">454757000</gnrc:FiniteLivedPatentsAndTechnologyNet>
    <gnrc:FiniteLivedPatentsAndTechnologyNet
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262657"
      unitRef="USD">492473000</gnrc:FiniteLivedPatentsAndTechnologyNet>
    <us-gaap:OtherIntangibleAssetsNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262658"
      unitRef="USD">41719000</us-gaap:OtherIntangibleAssetsNet>
    <us-gaap:OtherIntangibleAssetsNet
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262659"
      unitRef="USD">66436000</us-gaap:OtherIntangibleAssetsNet>
    <gnrc:TradeNamesNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262660"
      unitRef="USD">227251000</gnrc:TradeNamesNet>
    <gnrc:TradeNamesNet
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262661"
      unitRef="USD">243531000</gnrc:TradeNamesNet>
    <us-gaap:Goodwill
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c93262662"
      unitRef="USD">1400880000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262663"
      unitRef="USD">1409674000</us-gaap:Goodwill>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262664"
      unitRef="USD">12746000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="i_2021-12-31"
      decimals="-4"
      id="c93262665"
      unitRef="USD">15740000</us-gaap:DeferredIncomeTaxAssetsNet>
    <gnrc:OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c93262666"
      unitRef="USD">175170000</gnrc:OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent>
    <gnrc:OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262667"
      unitRef="USD">121888000</gnrc:OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent>
    <us-gaap:Assets
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262668"
      unitRef="USD">5169462000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i_2021-12-31"
      decimals="-4"
      id="c93262669"
      unitRef="USD">4877780000</us-gaap:Assets>
    <us-gaap:ShortTermBorrowings
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c93262672"
      unitRef="USD">48990000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262673"
      unitRef="USD">72035000</us-gaap:ShortTermBorrowings>
    <us-gaap:AccountsPayableCurrent
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c93262674"
      unitRef="USD">446050000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262675"
      unitRef="USD">674208000</us-gaap:AccountsPayableCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262676"
      unitRef="USD">45741000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i_2021-12-31"
      decimals="-4"
      id="c93262677"
      unitRef="USD">72060000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262678"
      unitRef="USD">89141000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262679"
      unitRef="USD">59052000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262680"
      unitRef="USD">349389000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262681"
      unitRef="USD">272622000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262682"
      unitRef="USD">12733000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="i_2021-12-31"
      decimals="-4"
      id="c93262683"
      unitRef="USD">5930000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262684"
      unitRef="USD">992044000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262685"
      unitRef="USD">1155907000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262686"
      unitRef="USD">1369085000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262687"
      unitRef="USD">902091000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262688"
      unitRef="USD">125691000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262689"
      unitRef="USD">205964000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <gnrc:OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262690"
      unitRef="USD">312916000</gnrc:OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities>
    <gnrc:OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262691"
      unitRef="USD">341681000</gnrc:OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities>
    <us-gaap:Liabilities
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262692"
      unitRef="USD">2799736000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262693"
      unitRef="USD">2605643000</us-gaap:Liabilities>
    <us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262694"
      unitRef="USD">110471000</us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount>
    <us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount
      contextRef="i_2021-12-31"
      decimals="-4"
      id="c93262695"
      unitRef="USD">58050000</us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount>
    <us-gaap:CommonStockValue
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262697"
      unitRef="USD">728000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262698"
      unitRef="USD">725000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262705"
      unitRef="USD">1016138000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262706"
      unitRef="USD">952939000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:TreasuryStockValue
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262707"
      unitRef="USD">808491000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262708"
      unitRef="USD">448976000</us-gaap:TreasuryStockValue>
    <gnrc:ExcessPurchasePriceOverPredecessorBasis
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262711"
      unitRef="USD">202116000</gnrc:ExcessPurchasePriceOverPredecessorBasis>
    <gnrc:ExcessPurchasePriceOverPredecessorBasis
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262712"
      unitRef="USD">202116000</gnrc:ExcessPurchasePriceOverPredecessorBasis>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262713"
      unitRef="USD">2316224000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262714"
      unitRef="USD">1965957000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262715"
      unitRef="USD">-65102000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262716"
      unitRef="USD">-54755000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262717"
      unitRef="USD">2257381000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262718"
      unitRef="USD">2213774000</us-gaap:StockholdersEquity>
    <us-gaap:MinorityInterest
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262719"
      unitRef="USD">1874000</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262720"
      unitRef="USD">313000</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262721"
      unitRef="USD">2259255000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93262722"
      unitRef="USD">2214087000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93262723"
      unitRef="USD">5169462000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i_2021-12-31"
      decimals="-4"
      id="c93262724"
      unitRef="USD">4877780000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262731"
      unitRef="USD">4564737000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262732"
      unitRef="USD">3737184000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-5"
      id="c93262733"
      unitRef="USD">2485200000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262734"
      unitRef="USD">3042733000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262735"
      unitRef="USD">2377102000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262736"
      unitRef="USD">1527546000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262737"
      unitRef="USD">1522004000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262738"
      unitRef="USD">1360082000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262739"
      unitRef="USD">957654000</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-4"
      id="c93262741"
      unitRef="USD">496260000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-4"
      id="c93262742"
      unitRef="USD">319020000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262743"
      unitRef="USD">246373000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262744"
      unitRef="USD">159774000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262745"
      unitRef="USD">104303000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262746"
      unitRef="USD">80251000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262747"
      unitRef="USD">194861000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262748"
      unitRef="USD">144272000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262749"
      unitRef="USD">118233000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262750"
      unitRef="USD">1459000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262751"
      unitRef="USD">21465000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262752"
      unitRef="USD">1411000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-4"
      id="c93262753"
      unitRef="USD">103320000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262754"
      unitRef="USD">49886000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-4"
      id="c93262755"
      unitRef="USD">32280000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:OperatingExpenses
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262756"
      unitRef="USD">955674000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262757"
      unitRef="USD">638946000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262758"
      unitRef="USD">478548000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-4"
      id="c93262759"
      unitRef="USD">566330000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262760"
      unitRef="USD">721136000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262761"
      unitRef="USD">479106000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262763"
      unitRef="USD">54826000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262764"
      unitRef="USD">32953000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262765"
      unitRef="USD">32991000</us-gaap:InterestExpense>
    <us-gaap:InvestmentIncomeNonoperating
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262766"
      unitRef="USD">1129000</us-gaap:InvestmentIncomeNonoperating>
    <us-gaap:InvestmentIncomeNonoperating
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262767"
      unitRef="USD">1415000</us-gaap:InvestmentIncomeNonoperating>
    <us-gaap:InvestmentIncomeNonoperating
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262768"
      unitRef="USD">2182000</us-gaap:InvestmentIncomeNonoperating>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262769"
      unitRef="USD">-3743000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262770"
      unitRef="USD">-831000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262771"
      unitRef="USD">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262772"
      unitRef="USD">-424000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262773"
      unitRef="USD">2759000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262774"
      unitRef="USD">-2106000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262775"
      unitRef="USD">-57864000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-4"
      id="c93262776"
      unitRef="USD">-29610000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262777"
      unitRef="USD">-32915000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262778"
      unitRef="USD">508466000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262779"
      unitRef="USD">691526000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262780"
      unitRef="USD">446191000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262781"
      unitRef="USD">99596000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262782"
      unitRef="USD">134957000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262783"
      unitRef="USD">98973000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-4"
      id="c93262784"
      unitRef="USD">408870000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262785"
      unitRef="USD">556569000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262786"
      unitRef="USD">347218000</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262787"
      unitRef="USD">9368000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262788"
      unitRef="USD">6075000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262789"
      unitRef="USD">-3358000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262790"
      unitRef="USD">399502000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262791"
      unitRef="USD">550494000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262792"
      unitRef="USD">350576000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262794"
      unitRef="USD">-48841000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-4"
      id="c93262795"
      unitRef="USD">-41030000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262796"
      unitRef="USD">4948000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262797"
      unitRef="USD">38494000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262798"
      unitRef="USD">20529000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262799"
      unitRef="USD">-14285000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262800"
      unitRef="USD">-10347000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262801"
      unitRef="USD">-20501000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262802"
      unitRef="USD">-9337000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262803"
      unitRef="USD">398523000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262804"
      unitRef="USD">536068000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262805"
      unitRef="USD">337881000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262806"
      unitRef="USD">11179000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262807"
      unitRef="USD">5496000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262808"
      unitRef="USD">-364000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93262809"
      unitRef="USD">387344000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93262810"
      unitRef="USD">530572000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262811"
      unitRef="USD">338245000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93262812"
      unitRef="USDPerShare">5.55</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93262813"
      unitRef="USDPerShare">8.51</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93262814"
      unitRef="USDPerShare">5.61</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93262815"
      unitRef="Share">63117007</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93262816"
      unitRef="Share">62686001</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93262817"
      unitRef="Share">62280889</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93262818"
      unitRef="USDPerShare">5.42</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93262819"
      unitRef="USDPerShare">8.30</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93262820"
      unitRef="USDPerShare">5.48</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93262821"
      unitRef="Share">64681357</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93262822"
      unitRef="Share">64253408</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93262823"
      unitRef="Share">63737734</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:SharesOutstanding
      contextRef="i_2019-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c93262890"
      unitRef="Share">71667726</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2019-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93262891"
      unitRef="USD">717000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2019-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93262892"
      unitRef="USD">498866000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="i_2019-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="INF"
      id="c93262893"
      unitRef="Share">-9103013</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2019-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93262894"
      unitRef="USD">-324551000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2019-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93262895"
      unitRef="USD">-202116000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2019-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93262896"
      unitRef="USD">1084383000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2019-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93262897"
      unitRef="USD">-24917000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2019-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93262898"
      unitRef="USD">1032382000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2019-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93262899"
      unitRef="USD">469000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2019-12-31"
      decimals="-3"
      id="c93262900"
      unitRef="USD">1032851000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93262902"
      unitRef="USD">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93262903"
      unitRef="USD">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93262905"
      unitRef="USD">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93262906"
      unitRef="USD">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93262907"
      unitRef="USD">-1147000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93262908"
      unitRef="USD">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93262909"
      unitRef="USD">-1147000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93262910"
      unitRef="USD">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2019-12-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember"
      decimals="-3"
      id="c93262911"
      unitRef="USD">-1147000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93262913"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93262914"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93262916"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93262917"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93262918"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93262919"
      unitRef="USD">-14285000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93262920"
      unitRef="USD">-14285000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93262921"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262922"
      unitRef="USD">-14285000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93262941"
      unitRef="USD">4948000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93262942"
      unitRef="USD">4948000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93262943"
      unitRef="USD">-29000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262944"
      unitRef="USD">4919000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c93262945"
      unitRef="Share">356603</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93262946"
      unitRef="USD">4000</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93262947"
      unitRef="USD">5793000</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93262953"
      unitRef="USD">5797000</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262955"
      unitRef="USD">5797000</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="INF"
      id="c93262959"
      unitRef="Share">70718</gnrc:TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93262960"
      unitRef="USD">7613000</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93262964"
      unitRef="USD">7613000</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262966"
      unitRef="USD">7613000</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93262968"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93262969"
      unitRef="USD">20882000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93262971"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93262972"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93262973"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93262974"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93262975"
      unitRef="USD">20882000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93262976"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262977"
      unitRef="USD">20882000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93262979"
      unitRef="USD">0</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93262980"
      unitRef="USD">0</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93262982"
      unitRef="USD">0</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93262983"
      unitRef="USD">0</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93262984"
      unitRef="USD">-1247000</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93262985"
      unitRef="USD">0</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93262986"
      unitRef="USD">-1247000</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93262987"
      unitRef="USD">0</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262988"
      unitRef="USD">-1247000</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93262990"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93262991"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93262993"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93262994"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93262995"
      unitRef="USD">350576000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93262996"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93262997"
      unitRef="USD">350576000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLossAttributableToNonredeemableNoncontrollingInterest
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93262998"
      unitRef="USD">-529000</us-gaap:NetIncomeLossAttributableToNonredeemableNoncontrollingInterest>
    <us-gaap:NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93262999"
      unitRef="USD">350047000</us-gaap:NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="i_2020-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c93263000"
      unitRef="Share">72024329</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2020-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263001"
      unitRef="USD">721000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2020-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263002"
      unitRef="USD">525541000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="i_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="INF"
      id="c93263003"
      unitRef="Share">-9173731</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2020-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93263004"
      unitRef="USD">-332164000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2020-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263005"
      unitRef="USD">-202116000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2020-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263006"
      unitRef="USD">1432565000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263007"
      unitRef="USD">-34254000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2020-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263008"
      unitRef="USD">1390293000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2020-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263009"
      unitRef="USD">-89000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2020-12-31"
      decimals="-3"
      id="c93263010"
      unitRef="USD">1390204000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263012"
      unitRef="USD">-0</us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation>
    <us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263013"
      unitRef="USD">-0</us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation>
    <us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93263015"
      unitRef="USD">-0</us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation>
    <us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263016"
      unitRef="USD">-0</us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation>
    <us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263017"
      unitRef="USD">-0</us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation>
    <us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263018"
      unitRef="USD">-0</us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation>
    <us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263019"
      unitRef="USD">-0</us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation>
    <us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263020"
      unitRef="USD">96000</us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation>
    <us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263021"
      unitRef="USD">96000</us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263029"
      unitRef="USD">20529000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263030"
      unitRef="USD">20529000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263032"
      unitRef="USD">20529000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263045"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263046"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93263048"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263049"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263050"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-4"
      id="c93263051"
      unitRef="USD">-41030000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-4"
      id="c93263052"
      unitRef="USD">-41030000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263053"
      unitRef="USD">-3000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263054"
      unitRef="USD">-41033000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c93263055"
      unitRef="Share">331048</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263056"
      unitRef="USD">3000</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263057"
      unitRef="USD">7073000</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="INF"
      id="c93263058"
      unitRef="Share">0</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93263059"
      unitRef="USD">0</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263060"
      unitRef="USD">0</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263061"
      unitRef="USD">0</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263062"
      unitRef="USD">0</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263063"
      unitRef="USD">7076000</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263064"
      unitRef="USD">0</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263065"
      unitRef="USD">7076000</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c93263066"
      unitRef="Share">30640</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263067"
      unitRef="USD">1000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-6"
      id="c93263068"
      unitRef="USD">12000000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263074"
      unitRef="USD">12001000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263076"
      unitRef="USD">12001000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodSharesTreasuryStockReissued
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c93263077"
      unitRef="Share">0</us-gaap:StockIssuedDuringPeriodSharesTreasuryStockReissued>
    <us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263078"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued>
    <us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263079"
      unitRef="USD">384371000</us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued>
    <us-gaap:StockIssuedDuringPeriodSharesTreasuryStockReissued
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="INF"
      id="c93263080"
      unitRef="Share">937283</us-gaap:StockIssuedDuringPeriodSharesTreasuryStockReissued>
    <us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93263081"
      unitRef="USD">36403000</us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued>
    <us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263082"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued>
    <us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263083"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued>
    <us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263084"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued>
    <us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263085"
      unitRef="USD">420774000</us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued>
    <us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263086"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued>
    <us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263087"
      unitRef="USD">420774000</us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued>
    <gnrc:TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c93263088"
      unitRef="Share">-0</gnrc:TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263089"
      unitRef="USD">-0</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263090"
      unitRef="USD">-0</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <gnrc:TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="INF"
      id="c93263091"
      unitRef="Share">80583</gnrc:TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93263092"
      unitRef="USD">27223000</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263093"
      unitRef="USD">-0</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263094"
      unitRef="USD">-0</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263095"
      unitRef="USD">-0</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263096"
      unitRef="USD">27223000</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263097"
      unitRef="USD">-0</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263098"
      unitRef="USD">27223000</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c93263099"
      unitRef="Share">-0</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263100"
      unitRef="USD">-0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263101"
      unitRef="USD">-0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="INF"
      id="c93263102"
      unitRef="Share">350000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93263103"
      unitRef="USD">125992000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263104"
      unitRef="USD">-0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263105"
      unitRef="USD">-0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263106"
      unitRef="USD">-0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263107"
      unitRef="USD">125992000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263108"
      unitRef="USD">-0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263109"
      unitRef="USD">125992000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263111"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263112"
      unitRef="USD">23954000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93263114"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263115"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263116"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263117"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263118"
      unitRef="USD">23954000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263119"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263120"
      unitRef="USD">23954000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263122"
      unitRef="USD">0</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263123"
      unitRef="USD">0</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93263125"
      unitRef="USD">0</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263126"
      unitRef="USD">0</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263127"
      unitRef="USD">-17102000</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263128"
      unitRef="USD">0</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263129"
      unitRef="USD">-17102000</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263130"
      unitRef="USD">0</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263131"
      unitRef="USD">-17102000</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263133"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263134"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93263136"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263137"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263138"
      unitRef="USD">550494000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263139"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263140"
      unitRef="USD">550494000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLossAttributableToNonredeemableNoncontrollingInterest
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263141"
      unitRef="USD">501000</us-gaap:NetIncomeLossAttributableToNonredeemableNoncontrollingInterest>
    <us-gaap:NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263142"
      unitRef="USD">550995000</us-gaap:NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c93263143"
      unitRef="Share">72386017</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263144"
      unitRef="USD">725000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263145"
      unitRef="USD">952939000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="INF"
      id="c93263146"
      unitRef="Share">-8667031</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93263147"
      unitRef="USD">-448976000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263148"
      unitRef="USD">-202116000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263149"
      unitRef="USD">1965957000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263150"
      unitRef="USD">-54755000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263151"
      unitRef="USD">2213774000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263152"
      unitRef="USD">313000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93263153"
      unitRef="USD">2214087000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263155"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263156"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93263158"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263159"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263160"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263161"
      unitRef="USD">38494000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263162"
      unitRef="USD">38494000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263163"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263164"
      unitRef="USD">38494000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263177"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263178"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93263180"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263181"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263182"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263183"
      unitRef="USD">-48841000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263184"
      unitRef="USD">-48841000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263185"
      unitRef="USD">-264000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263186"
      unitRef="USD">-49105000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c93263187"
      unitRef="Share">315240</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263188"
      unitRef="USD">3000</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263189"
      unitRef="USD">-247000</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="INF"
      id="c93263190"
      unitRef="Share">0</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93263191"
      unitRef="USD">0</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263192"
      unitRef="USD">0</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263193"
      unitRef="USD">0</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263194"
      unitRef="USD">0</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263195"
      unitRef="USD">-244000</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263196"
      unitRef="USD">0</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263197"
      unitRef="USD">-244000</gnrc:StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue>
    <gnrc:TreasuryStockIssuedDuringPeriodContingentConsideration
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c93263198"
      unitRef="Share">0</gnrc:TreasuryStockIssuedDuringPeriodContingentConsideration>
    <gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263199"
      unitRef="USD">0</gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration>
    <gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263200"
      unitRef="USD">33965000</gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration>
    <gnrc:TreasuryStockIssuedDuringPeriodContingentConsideration
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="INF"
      id="c93263201"
      unitRef="Share">196531</gnrc:TreasuryStockIssuedDuringPeriodContingentConsideration>
    <gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93263202"
      unitRef="USD">13158000</gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration>
    <gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263203"
      unitRef="USD">0</gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration>
    <gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263204"
      unitRef="USD">0</gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration>
    <gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263205"
      unitRef="USD">0</gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration>
    <gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263206"
      unitRef="USD">47123000</gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration>
    <gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263207"
      unitRef="USD">0</gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration>
    <gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263208"
      unitRef="USD">47123000</gnrc:TreasuryStockIssuedDuringPeriodValueContingentConsideration>
    <gnrc:TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c93263209"
      unitRef="Share">-0</gnrc:TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263210"
      unitRef="USD">-0</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263211"
      unitRef="USD">-0</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <gnrc:TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="INF"
      id="c93263212"
      unitRef="Share">91843</gnrc:TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93263213"
      unitRef="USD">26833000</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263214"
      unitRef="USD">-0</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263215"
      unitRef="USD">-0</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263216"
      unitRef="USD">-0</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263217"
      unitRef="USD">26833000</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263218"
      unitRef="USD">-0</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263219"
      unitRef="USD">26833000</gnrc:TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c93263220"
      unitRef="Share">-0</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263221"
      unitRef="USD">-0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263222"
      unitRef="USD">-0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="INF"
      id="c93263223"
      unitRef="Share">2722007</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-4"
      id="c93263224"
      unitRef="USD">345840000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263225"
      unitRef="USD">-0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263226"
      unitRef="USD">-0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263227"
      unitRef="USD">-0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-4"
      id="c93263228"
      unitRef="USD">345840000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263229"
      unitRef="USD">-0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-4"
      id="c93263230"
      unitRef="USD">345840000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263232"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263233"
      unitRef="USD">29481000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93263235"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263236"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263237"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263238"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263239"
      unitRef="USD">29481000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263240"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263241"
      unitRef="USD">29481000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263243"
      unitRef="USD">0</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263244"
      unitRef="USD">0</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93263246"
      unitRef="USD">0</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263247"
      unitRef="USD">0</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263248"
      unitRef="USD">-49235000</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263249"
      unitRef="USD">0</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263250"
      unitRef="USD">-49235000</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263251"
      unitRef="USD">0</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263252"
      unitRef="USD">-49235000</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263254"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263255"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93263257"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263258"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263259"
      unitRef="USD">399502000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263260"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263261"
      unitRef="USD">399502000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLossAttributableToNonredeemableNoncontrollingInterest
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263262"
      unitRef="USD">1825000</us-gaap:NetIncomeLossAttributableToNonredeemableNoncontrollingInterest>
    <us-gaap:NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263263"
      unitRef="USD">401327000</us-gaap:NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c93263264"
      unitRef="Share">72701257</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c93263265"
      unitRef="USD">728000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember"
      decimals="-3"
      id="c93263266"
      unitRef="USD">1016138000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="INF"
      id="c93263267"
      unitRef="Share">-11284350</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="-3"
      id="c93263268"
      unitRef="USD">-808491000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-ExcessPurchasePriceOverPredecessorBasisMember"
      decimals="-3"
      id="c93263269"
      unitRef="USD">-202116000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c93263270"
      unitRef="USD">2316224000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93263271"
      unitRef="USD">-65102000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-ParentMember"
      decimals="-3"
      id="c93263272"
      unitRef="USD">2257381000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-NoncontrollingInterestMember"
      decimals="-3"
      id="c93263273"
      unitRef="USD">1874000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93263274"
      unitRef="USD">2259255000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-4"
      id="c93263282"
      unitRef="USD">408870000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263283"
      unitRef="USD">556569000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263284"
      unitRef="USD">347218000</us-gaap:ProfitLoss>
    <us-gaap:Depreciation
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263286"
      unitRef="USD">52821000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263287"
      unitRef="USD">42155000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263288"
      unitRef="USD">36493000</us-gaap:Depreciation>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-4"
      id="c93263289"
      unitRef="USD">103320000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263290"
      unitRef="USD">49886000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-4"
      id="c93263291"
      unitRef="USD">32280000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263292"
      unitRef="USD">3234000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263293"
      unitRef="USD">2589000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263294"
      unitRef="USD">2598000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263295"
      unitRef="USD">-3743000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263296"
      unitRef="USD">-831000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263297"
      unitRef="USD">-0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263298"
      unitRef="USD">-95465000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263299"
      unitRef="USD">-2096000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263300"
      unitRef="USD">21195000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:ShareBasedCompensation
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263301"
      unitRef="USD">29481000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263302"
      unitRef="USD">23954000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263303"
      unitRef="USD">20882000</us-gaap:ShareBasedCompensation>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263304"
      unitRef="USD">592000</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263305"
      unitRef="USD">4393000</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263306"
      unitRef="USD">-0</us-gaap:GainLossOnDispositionOfAssets1>
    <gnrc:BusinessCombinationContingentConsiderationGainLossChangeInFairValue
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263307"
      unitRef="USD">-18339000</gnrc:BusinessCombinationContingentConsiderationGainLossChangeInFairValue>
    <gnrc:BusinessCombinationContingentConsiderationGainLossChangeInFairValue
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263308"
      unitRef="USD">-206000</gnrc:BusinessCombinationContingentConsiderationGainLossChangeInFairValue>
    <gnrc:BusinessCombinationContingentConsiderationGainLossChangeInFairValue
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263309"
      unitRef="USD">-7145000</gnrc:BusinessCombinationContingentConsiderationGainLossChangeInFairValue>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263311"
      unitRef="USD">-6547000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263312"
      unitRef="USD">131861000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263313"
      unitRef="USD">55976000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263314"
      unitRef="USD">319274000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263315"
      unitRef="USD">470991000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263316"
      unitRef="USD">77983000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263317"
      unitRef="USD">-4766000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263318"
      unitRef="USD">819000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263319"
      unitRef="USD">-12859000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263320"
      unitRef="USD">-223031000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263321"
      unitRef="USD">297323000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-4"
      id="c93263322"
      unitRef="USD">66040000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263323"
      unitRef="USD">-27369000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263324"
      unitRef="USD">5814000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263325"
      unitRef="USD">20157000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263326"
      unitRef="USD">110036000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263327"
      unitRef="USD">73798000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263328"
      unitRef="USD">60593000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <gnrc:ExcessTaxBenefitsFromEquityAwards
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-4"
      id="c93263329"
      unitRef="USD">16910000</gnrc:ExcessTaxBenefitsFromEquityAwards>
    <gnrc:ExcessTaxBenefitsFromEquityAwards
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263330"
      unitRef="USD">31809000</gnrc:ExcessTaxBenefitsFromEquityAwards>
    <gnrc:ExcessTaxBenefitsFromEquityAwards
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263331"
      unitRef="USD">6968000</gnrc:ExcessTaxBenefitsFromEquityAwards>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263332"
      unitRef="USD">58516000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263333"
      unitRef="USD">411156000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263334"
      unitRef="USD">486533000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263336"
      unitRef="USD">2077000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263337"
      unitRef="USD">259000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263338"
      unitRef="USD">179000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfLongtermInvestments
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263339"
      unitRef="USD">1308000</us-gaap:ProceedsFromSaleOfLongtermInvestments>
    <us-gaap:ProceedsFromSaleOfLongtermInvestments
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263340"
      unitRef="USD">4968000</us-gaap:ProceedsFromSaleOfLongtermInvestments>
    <us-gaap:ProceedsFromSaleOfLongtermInvestments
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263341"
      unitRef="USD">0</us-gaap:ProceedsFromSaleOfLongtermInvestments>
    <us-gaap:ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263342"
      unitRef="USD">3566000</us-gaap:ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables>
    <us-gaap:ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263343"
      unitRef="USD">4609000</us-gaap:ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables>
    <us-gaap:ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263344"
      unitRef="USD">2651000</us-gaap:ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-4"
      id="c93263345"
      unitRef="USD">14930000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-4"
      id="c93263346"
      unitRef="USD">3660000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263347"
      unitRef="USD">-0</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263348"
      unitRef="USD">86188000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263349"
      unitRef="USD">109992000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263350"
      unitRef="USD">62128000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireLongtermInvestments
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-6"
      id="c93263351"
      unitRef="USD">15000000</us-gaap:PaymentsToAcquireLongtermInvestments>
    <us-gaap:PaymentsToAcquireLongtermInvestments
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263352"
      unitRef="USD">-0</us-gaap:PaymentsToAcquireLongtermInvestments>
    <us-gaap:PaymentsToAcquireLongtermInvestments
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263353"
      unitRef="USD">-0</us-gaap:PaymentsToAcquireLongtermInvestments>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263354"
      unitRef="USD">25065000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263355"
      unitRef="USD">713471000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263356"
      unitRef="USD">64797000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263357"
      unitRef="USD">-134232000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263358"
      unitRef="USD">-817287000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263359"
      unitRef="USD">-124095000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromShortTermDebt
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263361"
      unitRef="USD">248209000</us-gaap:ProceedsFromShortTermDebt>
    <us-gaap:ProceedsFromShortTermDebt
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263362"
      unitRef="USD">272818000</us-gaap:ProceedsFromShortTermDebt>
    <us-gaap:ProceedsFromShortTermDebt
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263363"
      unitRef="USD">257593000</us-gaap:ProceedsFromShortTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263364"
      unitRef="USD">1026284000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263365"
      unitRef="USD">150088000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263366"
      unitRef="USD">277000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:RepaymentsOfShortTermDebt
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263367"
      unitRef="USD">268133000</us-gaap:RepaymentsOfShortTermDebt>
    <us-gaap:RepaymentsOfShortTermDebt
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263368"
      unitRef="USD">239113000</us-gaap:RepaymentsOfShortTermDebt>
    <us-gaap:RepaymentsOfShortTermDebt
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263369"
      unitRef="USD">277719000</us-gaap:RepaymentsOfShortTermDebt>
    <us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263370"
      unitRef="USD">542191000</us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities>
    <us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263371"
      unitRef="USD">108556000</us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities>
    <us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263372"
      unitRef="USD">4758000</us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-4"
      id="c93263373"
      unitRef="USD">345840000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263374"
      unitRef="USD">125992000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263375"
      unitRef="USD">-0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263376"
      unitRef="USD">16135000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-4"
      id="c93263377"
      unitRef="USD">3750000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-6"
      id="c93263378"
      unitRef="USD">4000000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-4"
      id="c93263379"
      unitRef="USD">10330000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263380"
      unitRef="USD">1185000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263381"
      unitRef="USD">-0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263382"
      unitRef="USD">375000</us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest>
    <us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263383"
      unitRef="USD">27164000</us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest>
    <us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263384"
      unitRef="USD">-0</us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263385"
      unitRef="USD">309000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263386"
      unitRef="USD">-0</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263387"
      unitRef="USD">-0</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263388"
      unitRef="USD">40923000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263389"
      unitRef="USD">58903000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-4"
      id="c93263390"
      unitRef="USD">14910000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263391"
      unitRef="USD">13786000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263392"
      unitRef="USD">38787000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263393"
      unitRef="USD">13089000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263394"
      unitRef="USD">64043000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-4"
      id="c93263395"
      unitRef="USD">-102970000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263396"
      unitRef="USD">-30428000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263397"
      unitRef="USD">-2943000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263398"
      unitRef="USD">1312000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263399"
      unitRef="USD">235000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263400"
      unitRef="USD">-14616000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263401"
      unitRef="USD">-507789000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263402"
      unitRef="USD">332245000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93263403"
      unitRef="USD">147339000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2020-12-31"
      decimals="-3"
      id="c93263404"
      unitRef="USD">655128000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2019-12-31"
      decimals="-3"
      id="c93263405"
      unitRef="USD">322883000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93263406"
      unitRef="USD">132723000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93263407"
      unitRef="USD">147339000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2020-12-31"
      decimals="-3"
      id="c93263408"
      unitRef="USD">655128000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:InterestPaidNet
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263411"
      unitRef="USD">48912000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263412"
      unitRef="USD">27842000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263413"
      unitRef="USD">28765000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263414"
      unitRef="USD">150893000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263415"
      unitRef="USD">156728000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263416"
      unitRef="USD">61861000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284657">
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;1.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"&gt;&lt;b&gt;Description of Business&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Founded in &lt;em style="font: inherit;"&gt;1959,&lt;/em&gt; Generac Holdings Inc. (the Company) is a leading global designer and manufacturer of a wide range of energy technology solutions. The Company provides power generation equipment, energy storage systems, energy management devices &amp;amp; solutions, and other power products&#160;serving the residential, light commercial, and industrial markets. Generac&#x2019;s power products and solutions are available globally through a broad network of independent dealers, distributors, retailers, e-commerce partners, wholesalers, and equipment rental companies,&#160;as well as sold direct to certain end user customers.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Over the years, the Company has executed a number of acquisitions that support its strategic plan (refer to Item &lt;em style="font: inherit;"&gt;1&lt;/em&gt; in this Annual Report on Form &lt;em style="font: inherit;"&gt;10&lt;/em&gt;-K for discussion of our &#x201c;Powering a&#160;Smarter World&#x201d; strategic plan). A summary of acquisitions affecting the reporting periods presented include:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width: 18pt; text-align: justify;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;"&gt;&#x25cf;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; font-size: 10pt; text-align: justify;"&gt;In &lt;em style="font: inherit;"&gt; July 2020, &lt;/em&gt;the Company acquired West Coast Energy Systems LLC&#160;(Energy Systems), its industrial distributor in northern California. This addition enhances the Company's ability to serve the west coast markets for both commercial &amp;amp; industrial (C&amp;amp;I) and residential products.&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width: 18pt; text-align: justify;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 18pt; vertical-align: top; text-align: justify;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="vertical-align: top; text-align: justify;"&gt;In &lt;em style="font: inherit;"&gt; September 2020, &lt;/em&gt;the Company acquired Mean Green Products, LLC (Mean Green), founded in &lt;em style="font: inherit;"&gt;2009&lt;/em&gt; and located in Ross, Ohio. Mean Green is a designer and manufacturer of commercial grade, battery-powered turf care products that provide quiet, &lt;em style="font: inherit;"&gt;zero&lt;/em&gt; emissions and reduced maintenance options as compared to traditional commercial mowers.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width: 18pt; text-align: justify;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 18pt; vertical-align: top; text-align: justify;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="vertical-align: top; text-align: justify;"&gt;In &lt;em style="font: inherit;"&gt; October 2020, &lt;/em&gt;the Company acquired Enbala Power Networks Inc. (Enbala), founded in &lt;em style="font: inherit;"&gt;2003&lt;/em&gt; and headquartered in Denver, Colorado. Enbala is &lt;em style="font: inherit;"&gt;one&lt;/em&gt; of the leading providers of distributed energy optimization and control software that helps support the operational stability of the world's power grids.&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width: 18pt; text-align: justify;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 18pt; vertical-align: top; text-align: justify;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="vertical-align: top; text-align: justify;"&gt;In &lt;em style="font: inherit;"&gt; June 2021, &lt;/em&gt;the Company acquired Deep Sea Electronics Limited (Deep Sea), founded in &lt;em style="font: inherit;"&gt;1975&lt;/em&gt; and headquartered in Hunmanby, United Kingdom. Deep Sea is an industry leading designer and manufacturer of a diverse suite of flexible control solutions focused on the global power generation and transfer switch markets.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width: 18pt; text-align: justify;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 18pt; vertical-align: top; text-align: justify;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="vertical-align: top; text-align: justify;"&gt;In &lt;em style="font: inherit;"&gt; July 2021,&#160;&lt;/em&gt;the Company acquired Chilicon Power, LLC (Chilicon), a designer and provider of grid-interactive microinverter and monitoring solutions for the solar market. Based in Los Angeles, California, Chilicon's power inversion and monitoring system technologies maximize photovoltaic (solar power) system production, lower installer operational cost, and promote end-user satisfaction.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width: 18pt; text-align: justify;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 18pt; vertical-align: top; text-align: justify;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="vertical-align: top; text-align: justify;"&gt;In &lt;em style="font: inherit;"&gt; September 2021,&#160;&lt;/em&gt;the Company acquired Apricity Code Corporation (Apricity Code), an advanced engineering and product design company located in Bend, Oregon.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width: 18pt; text-align: justify;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 18pt; vertical-align: top; text-align: justify;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="vertical-align: top; text-align: justify;"&gt;In &lt;em style="font: inherit;"&gt; September 2021, &lt;/em&gt;the Company acquired Off Grid Energy Ltd (Off Grid Energy), a designer and manufacturer of industrial-grade mobile energy storage systems. Headquartered in Rugby, United Kingdom, Off Grid Energy offers a diverse range of energy storage solutions that provide cleaner and more flexible energy for industrial and mobile applications.&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width: 18pt; text-align: justify;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 18pt; vertical-align: top; text-align: justify;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="vertical-align: top; text-align: justify;"&gt;In &lt;em style="font: inherit;"&gt; October 2021,&#160;&lt;/em&gt;the Company acquired Tank Utility, Inc. (Tank Utility). Headquartered in Boston, Massachusetts, Tank Utility is a provider of internet of things (IoT) propane tank monitoring that enables the optimization of propane fuel logistics.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width: 18pt; text-align: justify;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 18pt; vertical-align: top; text-align: justify;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="vertical-align: top; text-align: justify;"&gt;In &lt;em style="font: inherit;"&gt; December 2021, &lt;/em&gt;the Company acquired ecobee Inc. (ecobee), founded in &lt;em style="font: inherit;"&gt;2007&lt;/em&gt; and headquartered in Toronto, Canada. ecobee is a leader in sustainable home technology solutions including smart thermostats that deliver significant energy savings, security and peace of mind.&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width: 18pt; text-align: justify;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 18pt; vertical-align: top; text-align: justify;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="vertical-align: top; text-align: justify;"&gt;In &lt;em style="font: inherit;"&gt; June 2022, &lt;/em&gt;the Company acquired Electronic Environments Co. LLC and related subsidiaries (collectively EEC). Headquartered in Marlborough, Massachusetts, EEC is an industrial generator distributor as well as a provider of data center and telecom facility design, build, maintenance, and repair services.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width: 18pt; text-align: justify;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 18pt; vertical-align: top; text-align: justify;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="vertical-align: top; text-align: justify;"&gt;In &lt;em style="font: inherit;"&gt; October 2022,&#160;&lt;/em&gt;the Company acquired BPAC, Inc.&#160;(Blue Pillar), an industrial IoT platform developer that designs, deploys, and manages industrial IoT network software solutions to enable distributed energy generation monitoring and control.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
  </us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284658">
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;Summary of&lt;/b&gt;&lt;b&gt; Accounting Policies &lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Principles of Consolidation&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The consolidated financial statements include the accounts of the Company and its subsidiaries that are consolidated in conformity with U.S. GAAP. All intercompany amounts and transactions have been eliminated in consolidation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Cash &lt;/b&gt;&lt;b&gt;and Cash &lt;/b&gt;&lt;b&gt;Equivalents&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company considers all highly liquid investments purchased with an original maturity of &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months or less to be cash equivalents.&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Concentration of Credit Risk&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company maintains the majority of its domestic cash in a few&#160;commercial banks in multiple operating and investment accounts. Balances on deposit are insured by the Federal Deposit Insurance Corporation (FDIC) up to specified limits. Balances in excess of FDIC limits are uninsured.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;One customer accounted for approximately 11% and 8% of accounts receivable at &lt;em style="font: inherit;"&gt; December 31, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021&lt;/em&gt;, respectively. &lt;span style="-sec-ix-hidden:c93263446"&gt;&lt;span style="-sec-ix-hidden:c93263449"&gt;&lt;span style="-sec-ix-hidden:c93263452"&gt;No&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;em style="font: inherit;"&gt;one&lt;/em&gt; customer accounted for greater than 4%, 6%, and 6%, of net sales during the years ended &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;, &lt;em style="font: inherit;"&gt;2021&lt;/em&gt;, and&#160;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Accounts Receivable and Allowance for Credit Losses&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company's trade and other receivables primarily arise from the sale of its&#160;products and services to independent residential dealers, industrial distributors&#160;and dealers, national and regional retailers, electrical/HVAC/solar wholesalers, e-commerce partners, equipment rental companies, equipment distributors, solar installers, utilities, EPC companies, and certain end users with payment terms generally ranging from &lt;em style="font: inherit;"&gt;30&lt;/em&gt; to &lt;em style="font: inherit;"&gt;90&lt;/em&gt; days. The Company evaluates the credit risk of a customer when extending credit based on a combination of various financial and qualitative factors that &lt;em style="font: inherit;"&gt; may &lt;/em&gt;affect the customers' ability to pay. These factors include the customer's financial condition, past payment experience, credit bureau information, and regional considerations.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;Receivables are recorded at their face value amount less an allowance for credit losses. The Company maintains an allowance for credit losses, which represents an estimate of expected losses over the remaining contractual life of its receivables considering current market conditions and estimates for supportable forecasts when appropriate. The Company measures expected credit losses on its trade receivables on an entity-by-entity basis. The estimate of expected credit losses considers a historical loss experience rate that is adjusted for delinquency trends, collection experience, and/or economic risk where appropriate based on current market conditions. Additionally, management develops a specific allowance for trade receivables known to have a high risk of expected future credit loss.&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company has historically experienced immaterial write-offs given the nature of the customers that receive credit. In addition, the Company holds various&#160;credit insurance plans that cover&#160;the risk of loss up to specified amounts on certain trade receivables. As of &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;the Company had gross receivables of $550,122&#160;and an allowance for credit losses of $27,664.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The following is a tabular reconciliation of the Company's allowance for credit losses:&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31, 2022&lt;/em&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 83%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Balance at beginning of period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;12,025&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Established for acquisitions&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;498&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Provision for credit losses (1)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;17,966&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Charge-offs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(2,554&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Currency translation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(271&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Balance at end of period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;27,664&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt;(&lt;em style="font: inherit;"&gt;1&lt;/em&gt;)&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;Includes a specific credit loss provision of $17,926 recorded during the &lt;em style="font: inherit;"&gt;third&lt;/em&gt; quarter of &lt;em style="font: inherit;"&gt;2022&lt;/em&gt; for a clean energy product customer that filed for bankruptcy.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="vertical-align:top;"/&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Inventories&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Inventories are stated at the lower of cost or market, with cost determined&#160;using the &lt;em style="font: inherit;"&gt;first&lt;/em&gt;-in, &lt;em style="font: inherit;"&gt;first&lt;/em&gt;-out method.&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Property and Equipment &lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Property and equipment are recorded at cost and are being depreciated using the straight-line method over the estimated useful lives of the assets, which are summarized below (in years). Costs of leasehold improvements are amortized over the lesser of the term of the lease (including renewal option periods) or the estimated useful lives of the improvements. Finance lease right of use assets are included in property and equipment. Refer to Note &lt;em style="font: inherit;"&gt;10,&lt;/em&gt; &#x201c;Leases,&#x201d; to the consolidated financial statements for the Company's lease disclosure.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Land improvements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;8&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;20&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Buildings and improvements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;10&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;40&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Machinery and equipment&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;3&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;15&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Dies and tools&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;3&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;10&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Vehicles&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;3&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;6&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Office equipment and systems&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;3&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;15&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Leasehold improvements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;2&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;20&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Total depreciation expense was $52,821, $42,155, and $36,493&#160;for the years ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Goodwill and Other Indefinite-Lived Intangible Assets&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;Goodwill represents the excess of the purchase price over fair value of identifiable net assets acquired from business acquisitions. Goodwill is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; amortized, but is reviewed for impairment on an annual basis and between annual tests if indicators of impairment are present. The Company evaluates goodwill for impairment annually as of &lt;em style="font: inherit;"&gt; October 31 &lt;/em&gt;or more frequently when an event occurs or circumstances change that indicates the carrying value &lt;em style="font: inherit;"&gt; may &lt;/em&gt;&lt;em style="font: inherit;"&gt;not&lt;/em&gt; be recoverable. The Company has the option to assess goodwill for impairment by performing either a qualitative assessment or quantitative test. The qualitative assessment determines whether it is more likely than &lt;em style="font: inherit;"&gt;not&lt;/em&gt; that the fair value of a reporting unit is less than its carrying amount. If the Company determines that it is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; more likely than &lt;em style="font: inherit;"&gt;not&lt;/em&gt; that the fair value of a reporting unit is less than its carrying amount, then the quantitative test is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; required to be performed. If the Company determines that it is more likely than &lt;em style="font: inherit;"&gt;not&lt;/em&gt; that the fair value of a reporting unit is less than its carrying amount, the Company is required to perform the quantitative test. In the quantitative test, the calculated fair value of the reporting unit is compared to its book value including goodwill. If the fair value of the reporting unit is in excess of its book value, the related goodwill is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; impaired. If the fair value of the reporting unit is less than its book value, an impairment loss is recognized in an amount equal to that excess, limited to the total amount of goodwill allocated to that reporting unit.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;Other indefinite-lived intangible assets consist of certain tradenames. The Company tests the carrying value of these tradenames annually as of &lt;em style="font: inherit;"&gt; October 31, &lt;/em&gt;or more frequently when an event occurs or circumstances change that indicates the carrying value &lt;em style="font: inherit;"&gt; may &lt;/em&gt;&lt;em style="font: inherit;"&gt;not&lt;/em&gt; be recoverable, by comparing the assets&#x2019; fair value to its carrying value. Fair value is measured using a relief-from-royalty approach, which assumes the fair value of the tradename is the discounted cash flows of the amount that would be paid had the Company &lt;em style="font: inherit;"&gt;not&lt;/em&gt; owned the tradename and instead licensed the tradename from another company.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company performed the required annual impairment tests for goodwill and other indefinite-lived intangible assets for the fiscal years &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, and found &lt;span style="-sec-ix-hidden:c93263514"&gt;&lt;span style="-sec-ix-hidden:c93263515"&gt;&lt;span style="-sec-ix-hidden:c93263516"&gt;no&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; impairment.&lt;/p&gt;&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"/&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;Impairment of Long-Lived Assets&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company periodically evaluates the carrying value of long-lived assets (excluding goodwill and indefinite-lived tradenames). Long-lived assets are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount &lt;em style="font: inherit;"&gt; may &lt;/em&gt;&lt;em style="font: inherit;"&gt;not&lt;/em&gt; be recoverable. If the sum of the expected future undiscounted cash flows is less than the carrying amount of an asset, a loss is recognized for the difference between the fair value and carrying value of the asset.&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;


   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Debt Issuance Costs&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Debt discounts and direct costs incurred in connection with the issuance or amendment of long-term debt are deferred and recorded as a reduction of outstanding debt and amortized to interest expense using the effective interest method over the terms of the related credit agreements. $3,234, $2,589, and $2,598,&#160;of deferred financing costs and original issue discount were amortized to interest expense during fiscal years &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively. Excluding the impact of any future long-term debt issuances or prepayments, estimated amortization to interest expense for the next &lt;em style="font: inherit;"&gt;five&lt;/em&gt; years is as follows: &lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&#160;- &lt;span style="-sec-ix-hidden:c93263527"&gt;$3,885;&lt;/span&gt; &lt;em style="font: inherit;"&gt;2024&lt;/em&gt;&#160;- &lt;span style="-sec-ix-hidden:c93263529"&gt;$3,923;&lt;/span&gt; &lt;em style="font: inherit;"&gt;2025&lt;/em&gt;&#160;- &lt;span style="-sec-ix-hidden:c93263531"&gt;$3,919;&lt;/span&gt; &lt;em style="font: inherit;"&gt;2026&lt;/em&gt;&#160;- &lt;span style="-sec-ix-hidden:c93263533"&gt;$3,819;&lt;/span&gt; &lt;em style="font: inherit;"&gt;2027&lt;/em&gt;&#160;- &lt;span style="-sec-ix-hidden:c93263535"&gt;$1,028.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Income Taxes&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company is a C Corporation and therefore accounts for income taxes pursuant to the liability method. Accordingly, the current or deferred tax consequences of a transaction are measured by applying the provision of enacted tax laws to determine the amount of taxes payable currently or in future years. Deferred income taxes are provided for temporary differences between the income tax bases of assets and liabilities and their carrying amounts for financial reporting purposes. In assessing the realizability of deferred tax assets, the Company considers whether it is more likely than &lt;em style="font: inherit;"&gt;not&lt;/em&gt; that some portion or all of the deferred tax assets will &lt;em style="font: inherit;"&gt;not&lt;/em&gt; be realized. The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the years in which those temporary differences become deductible. The Company considers taxable income in prior carryback years, the scheduled reversal of deferred tax liabilities, projected future taxable income and tax planning strategies, as appropriate, in making this assessment.&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Revenue Recognition&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&lt;br/&gt; The Company&#x2019;s revenues primarily consist of product sales to its customers. The Company considers the purchase orders, which in some cases are governed by master sales agreements, to be the contracts with the customers. For each contract, the Company considers the commitment to transfer products, each of which is distinct, to be the identified performance obligations. Revenue is measured as the amount of consideration the Company expects to be entitled in exchange for the transfer of product, which is generally the price stated in the contract specific for each item sold, adjusted for the value of expected returns, discounts, rebates, or other promotional incentives or allowances offered to our customers. Expected returns for damaged or defective product are estimated using the expected value method based on historical product return experience. Discounts and rebates offered to customers are typically defined in the master sales agreements with customers and, therefore, are recorded using the most likely amount method based on the terms of the contract. Promotional incentives are defined programs offered for short, specific periods of time and are estimated using the expected value method based on historical experience. The Company does &lt;em style="font: inherit;"&gt;not&lt;/em&gt; expect the transaction price for revenue recognized will be subject to a significant revenue reversal. As the Company&#x2019;s product sale contracts and standard payment terms have a duration of less than &lt;em style="font: inherit;"&gt;one&lt;/em&gt; year, it uses the practical expedient applicable to such contracts and does &lt;em style="font: inherit;"&gt;not&lt;/em&gt; consider the time value of money. Sales, use, value add, and other similar taxes assessed by governmental authorities and collected concurrent with revenue-producing activities are excluded from revenue. The Company has elected to recognize the cost for freight activities when control of the product has transferred to the customer as an expense within cost of goods sold in the consolidated statements of comprehensive income. Product revenues are recognized at the point in time when control of the product is transferred to the customer, which typically occurs upon shipment or delivery to the customer. To determine when control has transferred, the Company considers if there is a present right to payment and if legal title, physical possession, and the significant risks and rewards of ownership of the asset has transferred to the customer. As a substantial portion&#160;of the Company&#x2019;s product revenues are recognized at a point in time, the amount of unsatisfied performance obligations at each period end is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; material. The Company&#x2019;s contracts have an original expected duration of &lt;em style="font: inherit;"&gt;one&lt;/em&gt; year or less. As a result, the Company has elected to use the practical expedient to &lt;em style="font: inherit;"&gt;not&lt;/em&gt; disclose its remaining performance obligations.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;At the request of certain customers, the Company will warehouse inventory billed to the customer but &lt;em style="font: inherit;"&gt;not&lt;/em&gt; delivered. Unless all revenue recognition criteria have been met, the Company does &lt;em style="font: inherit;"&gt;not&lt;/em&gt; recognize revenue on these transactions until the customer takes possession of the product.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;While the Company&#x2019;s standard payment terms are less than &lt;em style="font: inherit;"&gt;one&lt;/em&gt; year, the specific payment terms and conditions in its customer contracts vary. In some cases, customers prepay for their goods; in other cases, after appropriate credit evaluation, an open credit line is granted and payment is due in arrears. Contracts with payment in arrears are recognized in the consolidated balance sheets as accounts receivable upon revenue recognition, while contracts where customers pay in advance are recognized as customer deposits and recorded in other accrued liabilities in the consolidated balance sheets until revenue is recognized. The balance of customer deposits (contract liabilities) was $33,551&#160;and $27,388&#160;at &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt; and &lt;em style="font: inherit;"&gt; December 31, 2021&lt;/em&gt;, respectively. During the year ended &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;, the Company recognized revenue of $27,388&#160;related to amounts included in the &lt;em style="font: inherit;"&gt; December 31, 2021&lt;/em&gt; customer deposit balance. The Company typically recognizes revenue within &lt;em style="font: inherit;"&gt;one&lt;/em&gt; year of the receipt of the customer deposit.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company offers standard warranty coverage on substantially all products that it sells and accounts for this standard warranty coverage as an assurance warranty. As such, &lt;em style="font: inherit;"&gt;no&lt;/em&gt; transaction price is allocated to the standard warranty, and the Company records a liability for product warranty obligations at the time of sale to a customer based on historical warranty experience. Refer to Note &lt;em style="font: inherit;"&gt;11,&lt;/em&gt; &#x201c;Product Warranty Obligations,&#x201d; to the consolidated financial statements for further information regarding the Company&#x2019;s standard warranties.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company also sells extended warranty coverage for certain products, which it accounts for as service warranties. In most cases, the extended warranty is sold as a separate contract. As such, extended warranty sales are considered a separate performance obligation, and the extended warranty transaction is separate and distinct from the product. The extended warranty transaction price is initially recorded as deferred revenue in the consolidated balance sheets and amortized on a straight-line basis to net sales in the consolidated statements of comprehensive income over the life of the contracts following the standard warranty period. For extended warranty contracts that the Company sells under a &lt;em style="font: inherit;"&gt;third&lt;/em&gt;-party marketing agreement, it is required to pay fees to the &lt;em style="font: inherit;"&gt;third&lt;/em&gt;-party service provider and classifies these fees as costs to obtain a contract. The contract costs are deferred and recorded as other assets in the consolidated balance sheets. The deferred contract costs are amortized to net sales in the consolidated statements of comprehensive income consistent with how the related deferred revenue is recognized. Refer to Note &lt;em style="font: inherit;"&gt;11,&lt;/em&gt; &#x201c;Product Warranty Obligations,&#x201d; to the consolidated financial statements for further information regarding the Company&#x2019;s extended warranties.&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;In addition to extended warranties, the Company offers other services, including remote monitoring, installation, maintenance, data center and telecom design and build, and&#160;grid services to utilities in certain&#160;circumstances. Total service revenues accounted for less than &lt;em style="font: inherit;"&gt;3%&lt;/em&gt;&#160;of revenue during the year ended &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;.&#160;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Refer to Note &lt;em style="font: inherit;"&gt;7,&lt;/em&gt; &#x201c;Segment Reporting,&#x201d; to the consolidated financial statements for the Company&#x2019;s disaggregated revenue disclosure. The information discussed above is applicable to each of the Company&#x2019;s product classes.&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;Advertising and Co-Op Advertising&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Expenditures for advertising, included in selling and service expenses in the consolidated statements of comprehensive income, are expensed as incurred. Expenditures for advertising production costs are expensed when the related advertisement is &lt;em style="font: inherit;"&gt;first&lt;/em&gt; run. Expenditures for Co-Op advertising are expensed when claimed by the customer. Total expenditures for advertising were $100,589, $66,660, and $53,678&#160;for the years ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Research and Development&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company expenses research and development costs as incurred. Total expenditures incurred for research and development were $159,774, $104,303, and $80,251&#160;for the years ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Foreign Currency Translation and Transactions&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Balance sheet amounts for non-U.S. Dollar functional currency subsidiaries&#160;are translated into U.S. Dollars at the rates of exchange in effect at the end of the fiscal year. Income and expenses incurred in a foreign currency are translated at the average rates of exchange in effect during the year. The related balance sheet translation adjustments are made directly to accumulated other comprehensive loss, a component of stockholders&#x2019; equity, in the consolidated balance sheets. Gains and losses from foreign currency transactions are recognized as incurred in the consolidated statements of comprehensive income.&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Fair Value of Financial Instruments&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;ASC &lt;em style="font: inherit;"&gt;820&lt;/em&gt;-&lt;em style="font: inherit;"&gt;10,&lt;/em&gt; &lt;i&gt;Fair Value Measurement&lt;/i&gt;&lt;i&gt;,&lt;/i&gt; defines fair value, establishes a consistent framework for measuring fair value, and expands disclosure for each major asset and liability category measured at fair value on either a recurring basis or nonrecurring basis. ASC &lt;em style="font: inherit;"&gt;820&lt;/em&gt;-&lt;em style="font: inherit;"&gt;10&lt;/em&gt; clarifies that fair value is an exit price, representing the amount that would be received in the sale of an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. As a basis for considering such assumptions, the pronouncement establishes a &lt;em style="font: inherit;"&gt;three&lt;/em&gt;-tier fair value hierarchy, which prioritizes the inputs used in measuring fair value as follows: (Level &lt;em style="font: inherit;"&gt;1&lt;/em&gt;) observable inputs such as quoted prices in active markets; (Level &lt;em style="font: inherit;"&gt;2&lt;/em&gt;) inputs, other than the quoted prices in active markets, that are observable either directly or indirectly; and (Level &lt;em style="font: inherit;"&gt;3&lt;/em&gt;) unobservable inputs in which there is little or &lt;em style="font: inherit;"&gt;no&lt;/em&gt; market data, which require the reporting entity to develop its own assumptions.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company believes the carrying amount of its financial instruments (cash and cash equivalents, accounts receivable, accounts payable, accrued liabilities, short-term borrowings, and revolving facility borrowings), excluding Term Loan borrowings, approximates the fair value of these instruments based on their short-term nature. The fair value of the Term Loan B borrowing, which has&#160;a&#160;net carrying value of $523,305, was approximately $516,750 (Level &lt;em style="font: inherit;"&gt;2&lt;/em&gt;)&#160;at &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;, as calculated based on independent valuations whose inputs and significant value drivers are observable. The fair value of Term Loan A approximates the carrying&#160;value.&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;For the fair value of the assets and liabilities measured on a recurring basis, refer to the fair value table in Note &lt;em style="font: inherit;"&gt;5,&lt;/em&gt; &#x201c;Derivative Instruments and Hedging Activities,&#x201d; to the consolidated financial statements. The fair value of all derivative contracts is classified as Level &lt;em style="font: inherit;"&gt;2.&lt;/em&gt; The valuation techniques used to measure the fair value of derivative contracts, all of which have counterparties with high credit ratings, were based on quoted market prices or model driven valuations using significant inputs derived from or corroborated by observable market data. The fair value of derivative contracts considers the Company&#x2019;s credit risk in accordance with ASC &lt;em style="font: inherit;"&gt;820&lt;/em&gt;-&lt;em style="font: inherit;"&gt;10.&lt;/em&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;em style="font: inherit;"/&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;&lt;i/&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;&lt;i&gt;Contingent Consideration&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;Certain of the Company's business combinations involve potential payment of future consideration that is contingent upon the achievement of certain milestones. As part of purchase accounting, a&#160;liability is recorded for the estimated fair value of the contingent consideration on the acquisition date. The fair value of the contingent consideration is remeasured at each reporting period, and the change in fair value is recognized within general and administrative expenses in the Company's&#160;consolidated statements of comprehensive income. The&#160;fair value measurement of contingent consideration is typically categorized as a Level &lt;em style="font: inherit;"&gt;3&lt;/em&gt; liability, as the measurement amount is based primarily on significant inputs that are &lt;em style="font: inherit;"&gt;not&lt;/em&gt; observable in the market. The fair value measurement of ecobee's contingent consideration is categorized as a Level &lt;em style="font: inherit;"&gt;1&lt;/em&gt; liability, as a definitive payout agreement has been reached.&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;The fair value of contingent consideration as of &lt;em style="font: inherit;"&gt; December 31, 2022&#160;&lt;/em&gt;and &lt;em style="font: inherit;"&gt; December 31, 2021&#160;&lt;/em&gt;was $81,533&#160;and $146,759, respectively. At &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;the Company&#160;recorded&lt;span style="color:#000000;"&gt; $49,500&#160;in other accrued liabilities and $32,033&#160;in oth&lt;/span&gt;er long-term liabilities in the consolidated balance sheets. At &lt;em style="font: inherit;"&gt; December 31, 2021, &lt;/em&gt;the Company&#160;recorded $68,665&#160;in other accrued liabilities and $78,094&#160;in other long-term liabilities in the consolidated balance sheets.&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;The following table provides a reconciliation of the activity for contingent consideration:&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Beginning balance, January 1, 2022&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;146,759&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Changes in fair value&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;(231&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Payment of contingent consideration (1)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;(63,800&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Present value interest accretion&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;1,974&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Currency translation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(3,169&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Ending balance, December 31, 2022&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;81,533&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;(&lt;em style="font: inherit;"&gt;1&lt;/em&gt;)&#160; &#160;Includes payments of $16,135 in cash for the Off Grid acquisition, $47,123&#160;in shares of common stock for the ecobee acquisition, and $542 in cash for the ecobee acquisition. The payment of common stock is accounted for as a non-cash item in the consolidated statement of cash flows.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Use of Estimates&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The preparation of the consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Derivative Instruments and Hedging Activities&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company records all derivatives in accordance with ASC &lt;em style="font: inherit;"&gt;815,&lt;/em&gt; &lt;i&gt;Derivatives and Hedging&lt;/i&gt;&lt;i&gt;,&lt;/i&gt; which requires derivative instruments to be reported in the consolidated balance sheets at fair value and establishes criteria for designation and effectiveness of hedging relationships. The Company is exposed to market risk such as changes in commodity prices, foreign currencies and interest rates. The Company does &lt;em style="font: inherit;"&gt;not&lt;/em&gt; hold or issue derivative financial instruments for trading purposes.&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;S&lt;/b&gt;&lt;b&gt;hare&lt;/b&gt;&lt;b&gt;-Based Compensation&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Share-based compensation expense, including stock options and restricted stock awards, is generally recognized on a straight-line basis over the vesting period based on the fair value of awards which are expected to vest. The fair value of all share-based awards is estimated on the date of grant. Refer to Note &lt;em style="font: inherit;"&gt;17,&lt;/em&gt; &#x201c;Share Plans,&#x201d; to the consolidated financial statements for further information on the Company&#x2019;s share-based compensation plans and accounting.&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"/&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Acquisition related costs&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;Acquisition related costs are external costs the Company incurs to affect a business combination including legal fees,&#160;professional and advisory&#160;services, transaction taxes such as stamp tax, and insurance premiums.&#160;The Company accounts for acquisition related costs as expense&#160;in the period&#160;in which the costs are incurred and the services are received.&#160;Total acquisition related costs&#160;were &lt;span style="color:#000000;"&gt;$1,459,&lt;/span&gt; $21,465, and $1,411&#160;for the years ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"/&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;New Accounting Pronouncements &lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Changes to GAAP are established by the Financial Accounting Standards Board (FASB) in the form of accounting standard updates (&#x201c;ASUs&#x201d;) to the FASB Accounting Standards Codification (ASC). ASUs&#160;&lt;em style="font: inherit;"&gt;not&lt;/em&gt;&#160;listed below were assessed and determined to be either&#160;&lt;em style="font: inherit;"&gt;not&lt;/em&gt;&#160;applicable or are&#160;&lt;em style="font: inherit;"&gt;not&lt;/em&gt;&#160;expected to have a material impact on the Company&#x2019;s consolidated financial statements.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;&lt;i&gt;Recently Adopted &lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;Accounting Standards&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;On &lt;em style="font: inherit;"&gt; October&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;1,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;i&gt;,&#160;&lt;/i&gt;the Company elected to early adopt&#160;ASU&#160;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;-&lt;em style="font: inherit;"&gt;04&lt;/em&gt;&lt;i&gt;,&#160;Liabilities&#160;&#x2013; Supplier Finance Program: Disclosure of Supplier Finance Program Obligations&lt;/i&gt;. This guidance was issued to enhance the transparency of supplier finance programs. The amendments in this update require that a buyer in a supplier finance program disclose sufficient information about the program to allow a user&#160;of&#160;financial statements to understand the program's nature, activity during the period, changes from period to period, and potential magnitude. The Company has &lt;em style="font: inherit;"&gt;one&lt;/em&gt; supplier finance program; however, the program magnitude&#160;is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; material to the Company.&lt;/p&gt;&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;


  </us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock contextRef="d_2022-01-01_2022-12-31" id="c93268164">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Principles of Consolidation&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The consolidated financial statements include the accounts of the Company and its subsidiaries that are consolidated in conformity with U.S. GAAP. All intercompany amounts and transactions have been eliminated in consolidation.&lt;/p&gt;</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="d_2022-01-01_2022-12-31" id="c93268165">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Cash &lt;/b&gt;&lt;b&gt;and Cash &lt;/b&gt;&lt;b&gt;Equivalents&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company considers all highly liquid investments purchased with an original maturity of &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months or less to be cash equivalents.&lt;/p&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="d_2022-01-01_2022-12-31" id="c93268166">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Concentration of Credit Risk&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company maintains the majority of its domestic cash in a few&#160;commercial banks in multiple operating and investment accounts. Balances on deposit are insured by the Federal Deposit Insurance Corporation (FDIC) up to specified limits. Balances in excess of FDIC limits are uninsured.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;One customer accounted for approximately 11% and 8% of accounts receivable at &lt;em style="font: inherit;"&gt; December 31, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021&lt;/em&gt;, respectively. &lt;span style="-sec-ix-hidden:c93263446"&gt;&lt;span style="-sec-ix-hidden:c93263449"&gt;&lt;span style="-sec-ix-hidden:c93263452"&gt;No&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;em style="font: inherit;"&gt;one&lt;/em&gt; customer accounted for greater than 4%, 6%, and 6%, of net sales during the years ended &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;, &lt;em style="font: inherit;"&gt;2021&lt;/em&gt;, and&#160;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively.&lt;/p&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-01-01_2022-12-31_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember"
      decimals="2"
      id="c93263437"
      unitRef="Pure">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember"
      decimals="2"
      id="c93263440"
      unitRef="Pure">0.08</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-01-01_2022-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-NoCustomerMember"
      decimals="2"
      id="c93263458"
      unitRef="Pure">0.04</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-NoCustomerMember"
      decimals="2"
      id="c93263461"
      unitRef="Pure">0.06</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2020-01-01_2020-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-NoCustomerMember"
      decimals="2"
      id="c93263464"
      unitRef="Pure">0.06</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ReceivablesPolicyTextBlock contextRef="d_2022-01-01_2022-12-31" id="c93268167">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Accounts Receivable and Allowance for Credit Losses&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company's trade and other receivables primarily arise from the sale of its&#160;products and services to independent residential dealers, industrial distributors&#160;and dealers, national and regional retailers, electrical/HVAC/solar wholesalers, e-commerce partners, equipment rental companies, equipment distributors, solar installers, utilities, EPC companies, and certain end users with payment terms generally ranging from &lt;em style="font: inherit;"&gt;30&lt;/em&gt; to &lt;em style="font: inherit;"&gt;90&lt;/em&gt; days. The Company evaluates the credit risk of a customer when extending credit based on a combination of various financial and qualitative factors that &lt;em style="font: inherit;"&gt; may &lt;/em&gt;affect the customers' ability to pay. These factors include the customer's financial condition, past payment experience, credit bureau information, and regional considerations.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;Receivables are recorded at their face value amount less an allowance for credit losses. The Company maintains an allowance for credit losses, which represents an estimate of expected losses over the remaining contractual life of its receivables considering current market conditions and estimates for supportable forecasts when appropriate. The Company measures expected credit losses on its trade receivables on an entity-by-entity basis. The estimate of expected credit losses considers a historical loss experience rate that is adjusted for delinquency trends, collection experience, and/or economic risk where appropriate based on current market conditions. Additionally, management develops a specific allowance for trade receivables known to have a high risk of expected future credit loss.&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company has historically experienced immaterial write-offs given the nature of the customers that receive credit. In addition, the Company holds various&#160;credit insurance plans that cover&#160;the risk of loss up to specified amounts on certain trade receivables. As of &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;the Company had gross receivables of $550,122&#160;and an allowance for credit losses of $27,664.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The following is a tabular reconciliation of the Company's allowance for credit losses:&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31, 2022&lt;/em&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 83%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Balance at beginning of period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;12,025&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Established for acquisitions&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;498&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Provision for credit losses (1)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;17,966&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Charge-offs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(2,554&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Currency translation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(271&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Balance at end of period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;27,664&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt;(&lt;em style="font: inherit;"&gt;1&lt;/em&gt;)&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;Includes a specific credit loss provision of $17,926 recorded during the &lt;em style="font: inherit;"&gt;third&lt;/em&gt; quarter of &lt;em style="font: inherit;"&gt;2022&lt;/em&gt; for a clean energy product customer that filed for bankruptcy.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ReceivablesPolicyTextBlock>
    <us-gaap:AccountsReceivableGross
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93263479"
      unitRef="USD">550122000</us-gaap:AccountsReceivableGross>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93263482"
      unitRef="USD">27664000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284659">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31, 2022&lt;/em&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 83%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Balance at beginning of period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;12,025&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Established for acquisitions&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;498&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Provision for credit losses (1)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;17,966&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Charge-offs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(2,554&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Currency translation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(271&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Balance at end of period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;27,664&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93263621"
      unitRef="USD">12025000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <gnrc:AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263622"
      unitRef="USD">498000</gnrc:AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263623"
      unitRef="USD">17966000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263624"
      unitRef="USD">2554000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <gnrc:AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263625"
      unitRef="USD">-271000</gnrc:AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93263626"
      unitRef="USD">27664000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="d_2022-07-01_2022-09-30_ProductOrServiceAxis-CleanEnergyProductMember"
      decimals="-3"
      id="c93263488"
      unitRef="USD">17926000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:InventoryPolicyTextBlock contextRef="d_2022-01-01_2022-12-31" id="c93268168">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Inventories&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Inventories are stated at the lower of cost or market, with cost determined&#160;using the &lt;em style="font: inherit;"&gt;first&lt;/em&gt;-in, &lt;em style="font: inherit;"&gt;first&lt;/em&gt;-out method.&lt;/p&gt;</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="d_2022-01-01_2022-12-31" id="c93268169">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Property and Equipment &lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Property and equipment are recorded at cost and are being depreciated using the straight-line method over the estimated useful lives of the assets, which are summarized below (in years). Costs of leasehold improvements are amortized over the lesser of the term of the lease (including renewal option periods) or the estimated useful lives of the improvements. Finance lease right of use assets are included in property and equipment. Refer to Note &lt;em style="font: inherit;"&gt;10,&lt;/em&gt; &#x201c;Leases,&#x201d; to the consolidated financial statements for the Company's lease disclosure.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Land improvements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;8&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;20&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Buildings and improvements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;10&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;40&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Machinery and equipment&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;3&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;15&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Dies and tools&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;3&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;10&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Vehicles&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;3&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;6&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Office equipment and systems&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;3&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;15&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Leasehold improvements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;2&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;20&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Total depreciation expense was $52,821, $42,155, and $36,493&#160;for the years ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively.&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <gnrc:PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284660">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Land improvements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;8&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;20&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Buildings and improvements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;10&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;40&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Machinery and equipment&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;3&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;15&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Dies and tools&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;3&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;10&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Vehicles&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;3&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;6&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Office equipment and systems&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;3&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;15&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 82%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Leasehold improvements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: right;"&gt;2&lt;/td&gt;&lt;td style="width: 4%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;&#x2013;&lt;/td&gt;&lt;td style="width: 6%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;20&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </gnrc:PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandImprovementsMember_RangeAxis-MinimumMember"
      id="c93263627">P8Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandImprovementsMember_RangeAxis-MaximumMember"
      id="c93263628">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember_RangeAxis-MinimumMember"
      id="c93263629">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember_RangeAxis-MaximumMember"
      id="c93263630">P40Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember_RangeAxis-MinimumMember"
      id="c93263631">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember_RangeAxis-MaximumMember"
      id="c93263632">P15Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-DiesAndToolsMember_RangeAxis-MinimumMember"
      id="c93263633">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-DiesAndToolsMember_RangeAxis-MaximumMember"
      id="c93263634">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember_RangeAxis-MinimumMember"
      id="c93263635">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember_RangeAxis-MaximumMember"
      id="c93263636">P6Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-OfficeEquipmentMember_RangeAxis-MinimumMember"
      id="c93263637">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-OfficeEquipmentMember_RangeAxis-MaximumMember"
      id="c93263638">P15Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember_RangeAxis-MinimumMember"
      id="c93263639">P2Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember_RangeAxis-MaximumMember"
      id="c93263640">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:Depreciation
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263496"
      unitRef="USD">52821000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263497"
      unitRef="USD">42155000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263498"
      unitRef="USD">36493000</us-gaap:Depreciation>
    <us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy contextRef="d_2022-01-01_2022-12-31" id="c93268170">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Goodwill and Other Indefinite-Lived Intangible Assets&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;Goodwill represents the excess of the purchase price over fair value of identifiable net assets acquired from business acquisitions. Goodwill is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; amortized, but is reviewed for impairment on an annual basis and between annual tests if indicators of impairment are present. The Company evaluates goodwill for impairment annually as of &lt;em style="font: inherit;"&gt; October 31 &lt;/em&gt;or more frequently when an event occurs or circumstances change that indicates the carrying value &lt;em style="font: inherit;"&gt; may &lt;/em&gt;&lt;em style="font: inherit;"&gt;not&lt;/em&gt; be recoverable. The Company has the option to assess goodwill for impairment by performing either a qualitative assessment or quantitative test. The qualitative assessment determines whether it is more likely than &lt;em style="font: inherit;"&gt;not&lt;/em&gt; that the fair value of a reporting unit is less than its carrying amount. If the Company determines that it is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; more likely than &lt;em style="font: inherit;"&gt;not&lt;/em&gt; that the fair value of a reporting unit is less than its carrying amount, then the quantitative test is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; required to be performed. If the Company determines that it is more likely than &lt;em style="font: inherit;"&gt;not&lt;/em&gt; that the fair value of a reporting unit is less than its carrying amount, the Company is required to perform the quantitative test. In the quantitative test, the calculated fair value of the reporting unit is compared to its book value including goodwill. If the fair value of the reporting unit is in excess of its book value, the related goodwill is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; impaired. If the fair value of the reporting unit is less than its book value, an impairment loss is recognized in an amount equal to that excess, limited to the total amount of goodwill allocated to that reporting unit.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;Other indefinite-lived intangible assets consist of certain tradenames. The Company tests the carrying value of these tradenames annually as of &lt;em style="font: inherit;"&gt; October 31, &lt;/em&gt;or more frequently when an event occurs or circumstances change that indicates the carrying value &lt;em style="font: inherit;"&gt; may &lt;/em&gt;&lt;em style="font: inherit;"&gt;not&lt;/em&gt; be recoverable, by comparing the assets&#x2019; fair value to its carrying value. Fair value is measured using a relief-from-royalty approach, which assumes the fair value of the tradename is the discounted cash flows of the amount that would be paid had the Company &lt;em style="font: inherit;"&gt;not&lt;/em&gt; owned the tradename and instead licensed the tradename from another company.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company performed the required annual impairment tests for goodwill and other indefinite-lived intangible assets for the fiscal years &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, and found &lt;span style="-sec-ix-hidden:c93263514"&gt;&lt;span style="-sec-ix-hidden:c93263515"&gt;&lt;span style="-sec-ix-hidden:c93263516"&gt;no&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; impairment.&lt;/p&gt;</us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock contextRef="d_2022-01-01_2022-12-31" id="c93268171">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;Impairment of Long-Lived Assets&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company periodically evaluates the carrying value of long-lived assets (excluding goodwill and indefinite-lived tradenames). Long-lived assets are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount &lt;em style="font: inherit;"&gt; may &lt;/em&gt;&lt;em style="font: inherit;"&gt;not&lt;/em&gt; be recoverable. If the sum of the expected future undiscounted cash flows is less than the carrying amount of an asset, a loss is recognized for the difference between the fair value and carrying value of the asset.&lt;/p&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:DebtPolicyTextBlock contextRef="d_2022-01-01_2022-12-31" id="c93268172">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Debt Issuance Costs&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Debt discounts and direct costs incurred in connection with the issuance or amendment of long-term debt are deferred and recorded as a reduction of outstanding debt and amortized to interest expense using the effective interest method over the terms of the related credit agreements. $3,234, $2,589, and $2,598,&#160;of deferred financing costs and original issue discount were amortized to interest expense during fiscal years &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively. Excluding the impact of any future long-term debt issuances or prepayments, estimated amortization to interest expense for the next &lt;em style="font: inherit;"&gt;five&lt;/em&gt; years is as follows: &lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&#160;- &lt;span style="-sec-ix-hidden:c93263527"&gt;$3,885;&lt;/span&gt; &lt;em style="font: inherit;"&gt;2024&lt;/em&gt;&#160;- &lt;span style="-sec-ix-hidden:c93263529"&gt;$3,923;&lt;/span&gt; &lt;em style="font: inherit;"&gt;2025&lt;/em&gt;&#160;- &lt;span style="-sec-ix-hidden:c93263531"&gt;$3,919;&lt;/span&gt; &lt;em style="font: inherit;"&gt;2026&lt;/em&gt;&#160;- &lt;span style="-sec-ix-hidden:c93263533"&gt;$3,819;&lt;/span&gt; &lt;em style="font: inherit;"&gt;2027&lt;/em&gt;&#160;- &lt;span style="-sec-ix-hidden:c93263535"&gt;$1,028.&lt;/span&gt;&lt;/p&gt;</us-gaap:DebtPolicyTextBlock>
    <gnrc:AmortizationOfFinancingCostsAndDebtDiscountPremium
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263519"
      unitRef="USD">3234000</gnrc:AmortizationOfFinancingCostsAndDebtDiscountPremium>
    <gnrc:AmortizationOfFinancingCostsAndDebtDiscountPremium
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263520"
      unitRef="USD">2589000</gnrc:AmortizationOfFinancingCostsAndDebtDiscountPremium>
    <gnrc:AmortizationOfFinancingCostsAndDebtDiscountPremium
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263521"
      unitRef="USD">2598000</gnrc:AmortizationOfFinancingCostsAndDebtDiscountPremium>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="d_2022-01-01_2022-12-31" id="c93268173">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Income Taxes&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company is a C Corporation and therefore accounts for income taxes pursuant to the liability method. Accordingly, the current or deferred tax consequences of a transaction are measured by applying the provision of enacted tax laws to determine the amount of taxes payable currently or in future years. Deferred income taxes are provided for temporary differences between the income tax bases of assets and liabilities and their carrying amounts for financial reporting purposes. In assessing the realizability of deferred tax assets, the Company considers whether it is more likely than &lt;em style="font: inherit;"&gt;not&lt;/em&gt; that some portion or all of the deferred tax assets will &lt;em style="font: inherit;"&gt;not&lt;/em&gt; be realized. The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the years in which those temporary differences become deductible. The Company considers taxable income in prior carryback years, the scheduled reversal of deferred tax liabilities, projected future taxable income and tax planning strategies, as appropriate, in making this assessment.&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock contextRef="d_2022-01-01_2022-12-31" id="c93268174">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Revenue Recognition&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&lt;br/&gt; The Company&#x2019;s revenues primarily consist of product sales to its customers. The Company considers the purchase orders, which in some cases are governed by master sales agreements, to be the contracts with the customers. For each contract, the Company considers the commitment to transfer products, each of which is distinct, to be the identified performance obligations. Revenue is measured as the amount of consideration the Company expects to be entitled in exchange for the transfer of product, which is generally the price stated in the contract specific for each item sold, adjusted for the value of expected returns, discounts, rebates, or other promotional incentives or allowances offered to our customers. Expected returns for damaged or defective product are estimated using the expected value method based on historical product return experience. Discounts and rebates offered to customers are typically defined in the master sales agreements with customers and, therefore, are recorded using the most likely amount method based on the terms of the contract. Promotional incentives are defined programs offered for short, specific periods of time and are estimated using the expected value method based on historical experience. The Company does &lt;em style="font: inherit;"&gt;not&lt;/em&gt; expect the transaction price for revenue recognized will be subject to a significant revenue reversal. As the Company&#x2019;s product sale contracts and standard payment terms have a duration of less than &lt;em style="font: inherit;"&gt;one&lt;/em&gt; year, it uses the practical expedient applicable to such contracts and does &lt;em style="font: inherit;"&gt;not&lt;/em&gt; consider the time value of money. Sales, use, value add, and other similar taxes assessed by governmental authorities and collected concurrent with revenue-producing activities are excluded from revenue. The Company has elected to recognize the cost for freight activities when control of the product has transferred to the customer as an expense within cost of goods sold in the consolidated statements of comprehensive income. Product revenues are recognized at the point in time when control of the product is transferred to the customer, which typically occurs upon shipment or delivery to the customer. To determine when control has transferred, the Company considers if there is a present right to payment and if legal title, physical possession, and the significant risks and rewards of ownership of the asset has transferred to the customer. As a substantial portion&#160;of the Company&#x2019;s product revenues are recognized at a point in time, the amount of unsatisfied performance obligations at each period end is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; material. The Company&#x2019;s contracts have an original expected duration of &lt;em style="font: inherit;"&gt;one&lt;/em&gt; year or less. As a result, the Company has elected to use the practical expedient to &lt;em style="font: inherit;"&gt;not&lt;/em&gt; disclose its remaining performance obligations.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;At the request of certain customers, the Company will warehouse inventory billed to the customer but &lt;em style="font: inherit;"&gt;not&lt;/em&gt; delivered. Unless all revenue recognition criteria have been met, the Company does &lt;em style="font: inherit;"&gt;not&lt;/em&gt; recognize revenue on these transactions until the customer takes possession of the product.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;While the Company&#x2019;s standard payment terms are less than &lt;em style="font: inherit;"&gt;one&lt;/em&gt; year, the specific payment terms and conditions in its customer contracts vary. In some cases, customers prepay for their goods; in other cases, after appropriate credit evaluation, an open credit line is granted and payment is due in arrears. Contracts with payment in arrears are recognized in the consolidated balance sheets as accounts receivable upon revenue recognition, while contracts where customers pay in advance are recognized as customer deposits and recorded in other accrued liabilities in the consolidated balance sheets until revenue is recognized. The balance of customer deposits (contract liabilities) was $33,551&#160;and $27,388&#160;at &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt; and &lt;em style="font: inherit;"&gt; December 31, 2021&lt;/em&gt;, respectively. During the year ended &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;, the Company recognized revenue of $27,388&#160;related to amounts included in the &lt;em style="font: inherit;"&gt; December 31, 2021&lt;/em&gt; customer deposit balance. The Company typically recognizes revenue within &lt;em style="font: inherit;"&gt;one&lt;/em&gt; year of the receipt of the customer deposit.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company offers standard warranty coverage on substantially all products that it sells and accounts for this standard warranty coverage as an assurance warranty. As such, &lt;em style="font: inherit;"&gt;no&lt;/em&gt; transaction price is allocated to the standard warranty, and the Company records a liability for product warranty obligations at the time of sale to a customer based on historical warranty experience. Refer to Note &lt;em style="font: inherit;"&gt;11,&lt;/em&gt; &#x201c;Product Warranty Obligations,&#x201d; to the consolidated financial statements for further information regarding the Company&#x2019;s standard warranties.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company also sells extended warranty coverage for certain products, which it accounts for as service warranties. In most cases, the extended warranty is sold as a separate contract. As such, extended warranty sales are considered a separate performance obligation, and the extended warranty transaction is separate and distinct from the product. The extended warranty transaction price is initially recorded as deferred revenue in the consolidated balance sheets and amortized on a straight-line basis to net sales in the consolidated statements of comprehensive income over the life of the contracts following the standard warranty period. For extended warranty contracts that the Company sells under a &lt;em style="font: inherit;"&gt;third&lt;/em&gt;-party marketing agreement, it is required to pay fees to the &lt;em style="font: inherit;"&gt;third&lt;/em&gt;-party service provider and classifies these fees as costs to obtain a contract. The contract costs are deferred and recorded as other assets in the consolidated balance sheets. The deferred contract costs are amortized to net sales in the consolidated statements of comprehensive income consistent with how the related deferred revenue is recognized. Refer to Note &lt;em style="font: inherit;"&gt;11,&lt;/em&gt; &#x201c;Product Warranty Obligations,&#x201d; to the consolidated financial statements for further information regarding the Company&#x2019;s extended warranties.&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;In addition to extended warranties, the Company offers other services, including remote monitoring, installation, maintenance, data center and telecom design and build, and&#160;grid services to utilities in certain&#160;circumstances. Total service revenues accounted for less than &lt;em style="font: inherit;"&gt;3%&lt;/em&gt;&#160;of revenue during the year ended &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;.&#160;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Refer to Note &lt;em style="font: inherit;"&gt;7,&lt;/em&gt; &#x201c;Segment Reporting,&#x201d; to the consolidated financial statements for the Company&#x2019;s disaggregated revenue disclosure. The information discussed above is applicable to each of the Company&#x2019;s product classes.&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93263547"
      unitRef="USD">33551000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93263548"
      unitRef="USD">27388000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263549"
      unitRef="USD">27388000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:AdvertisingCostsPolicyTextBlock contextRef="d_2022-01-01_2022-12-31" id="c93268176">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;Advertising and Co-Op Advertising&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Expenditures for advertising, included in selling and service expenses in the consolidated statements of comprehensive income, are expensed as incurred. Expenditures for advertising production costs are expensed when the related advertisement is &lt;em style="font: inherit;"&gt;first&lt;/em&gt; run. Expenditures for Co-Op advertising are expensed when claimed by the customer. Total expenditures for advertising were $100,589, $66,660, and $53,678&#160;for the years ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively.&lt;/p&gt;</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263560"
      unitRef="USD">100589000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-4"
      id="c93263561"
      unitRef="USD">66660000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263562"
      unitRef="USD">53678000</us-gaap:AdvertisingExpense>
    <us-gaap:ResearchAndDevelopmentExpensePolicy contextRef="d_2022-01-01_2022-12-31" id="c93268177">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Research and Development&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company expenses research and development costs as incurred. Total expenditures incurred for research and development were $159,774, $104,303, and $80,251&#160;for the years ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively.&lt;/p&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263565"
      unitRef="USD">159774000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263566"
      unitRef="USD">104303000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263567"
      unitRef="USD">80251000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock contextRef="d_2022-01-01_2022-12-31" id="c93268178">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Foreign Currency Translation and Transactions&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Balance sheet amounts for non-U.S. Dollar functional currency subsidiaries&#160;are translated into U.S. Dollars at the rates of exchange in effect at the end of the fiscal year. Income and expenses incurred in a foreign currency are translated at the average rates of exchange in effect during the year. The related balance sheet translation adjustments are made directly to accumulated other comprehensive loss, a component of stockholders&#x2019; equity, in the consolidated balance sheets. Gains and losses from foreign currency transactions are recognized as incurred in the consolidated statements of comprehensive income.&lt;/p&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy contextRef="d_2022-01-01_2022-12-31" id="c93268179">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Fair Value of Financial Instruments&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;ASC &lt;em style="font: inherit;"&gt;820&lt;/em&gt;-&lt;em style="font: inherit;"&gt;10,&lt;/em&gt; &lt;i&gt;Fair Value Measurement&lt;/i&gt;&lt;i&gt;,&lt;/i&gt; defines fair value, establishes a consistent framework for measuring fair value, and expands disclosure for each major asset and liability category measured at fair value on either a recurring basis or nonrecurring basis. ASC &lt;em style="font: inherit;"&gt;820&lt;/em&gt;-&lt;em style="font: inherit;"&gt;10&lt;/em&gt; clarifies that fair value is an exit price, representing the amount that would be received in the sale of an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. As a basis for considering such assumptions, the pronouncement establishes a &lt;em style="font: inherit;"&gt;three&lt;/em&gt;-tier fair value hierarchy, which prioritizes the inputs used in measuring fair value as follows: (Level &lt;em style="font: inherit;"&gt;1&lt;/em&gt;) observable inputs such as quoted prices in active markets; (Level &lt;em style="font: inherit;"&gt;2&lt;/em&gt;) inputs, other than the quoted prices in active markets, that are observable either directly or indirectly; and (Level &lt;em style="font: inherit;"&gt;3&lt;/em&gt;) unobservable inputs in which there is little or &lt;em style="font: inherit;"&gt;no&lt;/em&gt; market data, which require the reporting entity to develop its own assumptions.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company believes the carrying amount of its financial instruments (cash and cash equivalents, accounts receivable, accounts payable, accrued liabilities, short-term borrowings, and revolving facility borrowings), excluding Term Loan borrowings, approximates the fair value of these instruments based on their short-term nature. The fair value of the Term Loan B borrowing, which has&#160;a&#160;net carrying value of $523,305, was approximately $516,750 (Level &lt;em style="font: inherit;"&gt;2&lt;/em&gt;)&#160;at &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;, as calculated based on independent valuations whose inputs and significant value drivers are observable. The fair value of Term Loan A approximates the carrying&#160;value.&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;For the fair value of the assets and liabilities measured on a recurring basis, refer to the fair value table in Note &lt;em style="font: inherit;"&gt;5,&lt;/em&gt; &#x201c;Derivative Instruments and Hedging Activities,&#x201d; to the consolidated financial statements. The fair value of all derivative contracts is classified as Level &lt;em style="font: inherit;"&gt;2.&lt;/em&gt; The valuation techniques used to measure the fair value of derivative contracts, all of which have counterparties with high credit ratings, were based on quoted market prices or model driven valuations using significant inputs derived from or corroborated by observable market data. The fair value of derivative contracts considers the Company&#x2019;s credit risk in accordance with ASC &lt;em style="font: inherit;"&gt;820&lt;/em&gt;-&lt;em style="font: inherit;"&gt;10.&lt;/em&gt;&lt;/p&gt;</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:LongTermDebt
      contextRef="i_2022-12-31_LongtermDebtTypeAxis-TermLoanMember"
      decimals="-3"
      id="c93263579"
      unitRef="USD">523305000</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentFairValue
      contextRef="i_2022-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member"
      decimals="-4"
      id="c93263580"
      unitRef="USD">516750000</us-gaap:DebtInstrumentFairValue>
    <gnrc:FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock contextRef="d_2022-01-01_2022-12-31" id="c93268180">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;&lt;i&gt;Contingent Consideration&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;Certain of the Company's business combinations involve potential payment of future consideration that is contingent upon the achievement of certain milestones. As part of purchase accounting, a&#160;liability is recorded for the estimated fair value of the contingent consideration on the acquisition date. The fair value of the contingent consideration is remeasured at each reporting period, and the change in fair value is recognized within general and administrative expenses in the Company's&#160;consolidated statements of comprehensive income. The&#160;fair value measurement of contingent consideration is typically categorized as a Level &lt;em style="font: inherit;"&gt;3&lt;/em&gt; liability, as the measurement amount is based primarily on significant inputs that are &lt;em style="font: inherit;"&gt;not&lt;/em&gt; observable in the market. The fair value measurement of ecobee's contingent consideration is categorized as a Level &lt;em style="font: inherit;"&gt;1&lt;/em&gt; liability, as a definitive payout agreement has been reached.&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;The fair value of contingent consideration as of &lt;em style="font: inherit;"&gt; December 31, 2022&#160;&lt;/em&gt;and &lt;em style="font: inherit;"&gt; December 31, 2021&#160;&lt;/em&gt;was $81,533&#160;and $146,759, respectively. At &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;the Company&#160;recorded&lt;span style="color:#000000;"&gt; $49,500&#160;in other accrued liabilities and $32,033&#160;in oth&lt;/span&gt;er long-term liabilities in the consolidated balance sheets. At &lt;em style="font: inherit;"&gt; December 31, 2021, &lt;/em&gt;the Company&#160;recorded $68,665&#160;in other accrued liabilities and $78,094&#160;in other long-term liabilities in the consolidated balance sheets.&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;The following table provides a reconciliation of the activity for contingent consideration:&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Beginning balance, January 1, 2022&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;146,759&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Changes in fair value&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;(231&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Payment of contingent consideration (1)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;(63,800&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Present value interest accretion&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;1,974&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Currency translation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(3,169&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Ending balance, December 31, 2022&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;81,533&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;(&lt;em style="font: inherit;"&gt;1&lt;/em&gt;)&#160; &#160;Includes payments of $16,135 in cash for the Off Grid acquisition, $47,123&#160;in shares of common stock for the ecobee acquisition, and $542 in cash for the ecobee acquisition. The payment of common stock is accounted for as a non-cash item in the consolidated statement of cash flows.&lt;/p&gt;</gnrc:FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93263590"
      unitRef="USD">81533000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93263591"
      unitRef="USD">146759000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2022-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesMember"
      decimals="-5"
      id="c93263592"
      unitRef="USD">49500000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2022-12-31_BalanceSheetLocationAxis-OtherLongtermLiabilitiesMember"
      decimals="-3"
      id="c93263593"
      unitRef="USD">32033000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2021-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesMember"
      decimals="-3"
      id="c93263594"
      unitRef="USD">68665000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2021-12-31_BalanceSheetLocationAxis-OtherLongtermLiabilitiesMember"
      decimals="-3"
      id="c93263595"
      unitRef="USD">78094000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284661">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Beginning balance, January 1, 2022&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;146,759&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Changes in fair value&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;(231&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Payment of contingent consideration (1)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;(63,800&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Present value interest accretion&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;1,974&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Currency translation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(3,169&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Ending balance, December 31, 2022&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;81,533&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2021-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilityMember"
      decimals="-3"
      id="c93263641"
      unitRef="USD">146759000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <gnrc:BusinessCombinationContingentConsiderationGainLossChangeInFairValue
      contextRef="d_2022-01-01_2022-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilityMember"
      decimals="-3"
      id="c93263642"
      unitRef="USD">-231000</gnrc:BusinessCombinationContingentConsiderationGainLossChangeInFairValue>
    <gnrc:ContingentConsiderationPayments
      contextRef="d_2022-01-01_2022-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilityMember"
      decimals="-5"
      id="c93263643"
      unitRef="USD">63800000</gnrc:ContingentConsiderationPayments>
    <gnrc:BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion
      contextRef="d_2022-01-01_2022-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilityMember"
      decimals="-3"
      id="c93263644"
      unitRef="USD">1974000</gnrc:BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion>
    <gnrc:BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation
      contextRef="d_2022-01-01_2022-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilityMember"
      decimals="-3"
      id="c93263645"
      unitRef="USD">-3169000</gnrc:BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2022-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilityMember"
      decimals="-3"
      id="c93263646"
      unitRef="USD">81533000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-AcquisitionOfOffGridEnergyMember"
      decimals="-3"
      id="c93263597"
      unitRef="USD">16135000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <gnrc:ContingentConsiderationSharePaymentsValue
      contextRef="d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263598"
      unitRef="USD">47123000</gnrc:ContingentConsiderationSharePaymentsValue>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263599"
      unitRef="USD">542000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:UseOfEstimates contextRef="d_2022-01-01_2022-12-31" id="c93268181">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Use of Estimates&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The preparation of the consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.&lt;/p&gt;</us-gaap:UseOfEstimates>
    <us-gaap:DerivativesPolicyTextBlock contextRef="d_2022-01-01_2022-12-31" id="c93268182">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Derivative Instruments and Hedging Activities&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company records all derivatives in accordance with ASC &lt;em style="font: inherit;"&gt;815,&lt;/em&gt; &lt;i&gt;Derivatives and Hedging&lt;/i&gt;&lt;i&gt;,&lt;/i&gt; which requires derivative instruments to be reported in the consolidated balance sheets at fair value and establishes criteria for designation and effectiveness of hedging relationships. The Company is exposed to market risk such as changes in commodity prices, foreign currencies and interest rates. The Company does &lt;em style="font: inherit;"&gt;not&lt;/em&gt; hold or issue derivative financial instruments for trading purposes.&lt;/p&gt;</us-gaap:DerivativesPolicyTextBlock>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy contextRef="d_2022-01-01_2022-12-31" id="c93268183">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;S&lt;/b&gt;&lt;b&gt;hare&lt;/b&gt;&lt;b&gt;-Based Compensation&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Share-based compensation expense, including stock options and restricted stock awards, is generally recognized on a straight-line basis over the vesting period based on the fair value of awards which are expected to vest. The fair value of all share-based awards is estimated on the date of grant. Refer to Note &lt;em style="font: inherit;"&gt;17,&lt;/em&gt; &#x201c;Share Plans,&#x201d; to the consolidated financial statements for further information on the Company&#x2019;s share-based compensation plans and accounting.&lt;/p&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <gnrc:AcquisitionRelatedCostsPolicyTextBlock contextRef="d_2022-01-01_2022-12-31" id="c93268184">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;Acquisition related costs&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;Acquisition related costs are external costs the Company incurs to affect a business combination including legal fees,&#160;professional and advisory&#160;services, transaction taxes such as stamp tax, and insurance premiums.&#160;The Company accounts for acquisition related costs as expense&#160;in the period&#160;in which the costs are incurred and the services are received.&#160;Total acquisition related costs&#160;were &lt;span style="color:#000000;"&gt;$1,459,&lt;/span&gt; $21,465, and $1,411&#160;for the years ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively.&lt;/p&gt;</gnrc:AcquisitionRelatedCostsPolicyTextBlock>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263603"
      unitRef="USD">1459000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263604"
      unitRef="USD">21465000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263605"
      unitRef="USD">1411000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="d_2022-01-01_2022-12-31" id="c93268185">&lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;New Accounting Pronouncements &lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Changes to GAAP are established by the Financial Accounting Standards Board (FASB) in the form of accounting standard updates (&#x201c;ASUs&#x201d;) to the FASB Accounting Standards Codification (ASC). ASUs&#160;&lt;em style="font: inherit;"&gt;not&lt;/em&gt;&#160;listed below were assessed and determined to be either&#160;&lt;em style="font: inherit;"&gt;not&lt;/em&gt;&#160;applicable or are&#160;&lt;em style="font: inherit;"&gt;not&lt;/em&gt;&#160;expected to have a material impact on the Company&#x2019;s consolidated financial statements.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;&lt;i&gt;Recently Adopted &lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;Accounting Standards&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;On &lt;em style="font: inherit;"&gt; October&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;1,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;i&gt;,&#160;&lt;/i&gt;the Company elected to early adopt&#160;ASU&#160;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;-&lt;em style="font: inherit;"&gt;04&lt;/em&gt;&lt;i&gt;,&#160;Liabilities&#160;&#x2013; Supplier Finance Program: Disclosure of Supplier Finance Program Obligations&lt;/i&gt;. This guidance was issued to enhance the transparency of supplier finance programs. The amendments in this update require that a buyer in a supplier finance program disclose sufficient information about the program to allow a user&#160;of&#160;financial statements to understand the program's nature, activity during the period, changes from period to period, and potential magnitude. The Company has &lt;em style="font: inherit;"&gt;one&lt;/em&gt; supplier finance program; however, the program magnitude&#160;is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; material to the Company.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:BusinessCombinationDisclosureTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284662">
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;3.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;Acquisitions&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;i&gt;Fiscal &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;div style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
     &#160;
   &lt;/div&gt;
   &lt;p style="margin: 0pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;i&gt;Acquisitions&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="margin: 0pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="margin: 0pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; text-align: justify;"&gt;On &lt;em style="font: inherit;"&gt; June 30, 2022,&#160;&lt;/em&gt;the Company acquired EEC. Headquartered in Marlborough, Massachusetts, EEC is an industrial generator distributor as well as a provider of&#160;data center and telecom facility design, build, maintenance, and repair services.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;On &lt;em style="font: inherit;"&gt; October 3, 2022, &lt;/em&gt;the Company acquired Blue Pillar, an industrial IoT platform developer that designs, deploys, and manages industrial IoT network software solutions to enable distributed energy generation monitoring and control.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;The&#160;combined purchase price for these acquisitions was $&lt;span style="color:#000000;"&gt;25,654, net of cash acquired and&lt;/span&gt;&#160;funded solely through cash on hand.&#160;The Company recorded its preliminary purchase price allocation for EEC and Blue Pillar during the &lt;em style="font: inherit;"&gt;second&lt;/em&gt;&#160;quarter and &lt;em style="font: inherit;"&gt;fourth&lt;/em&gt; quarter&#160;of &lt;em style="font: inherit;"&gt;2022,&lt;/em&gt; respectively, based on its estimates of the fair value of the acquired assets and assumed liabilities. The accompanying&#160;consolidated financial statements include the results of these &lt;em style="font: inherit;"&gt;two&lt;/em&gt; acquired businesses since the dates of acquisition through &lt;em style="font: inherit;"&gt; December 31, 2022.&#160;&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;i&gt;&lt;b&gt;Fiscal &lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;Acquisition of Deep Sea&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;On &lt;em style="font: inherit;"&gt; June&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;1,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2021,&lt;/em&gt; the Company acquired Deep Sea&#160;for a purchase price, net of cash acquired, of $420,700. Headquartered in Hunmanby, United Kingdom, Deep Sea is a designer and manufacturer of a diverse suite of flexible control solutions&#160;focused on the global power generation and transfer switch markets.&#160;The acquisition purchase price was funded&#160;solely through cash on hand.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;The Company finalized the Deep Sea&#160;purchase price allocation during the &lt;em style="font: inherit;"&gt;second&lt;/em&gt; quarter of &lt;em style="font: inherit;"&gt;2022&lt;/em&gt; based on its estimates of the fair value of the acquired assets and assumed liabilities. The finalization did &lt;em style="font: inherit;"&gt;not&lt;/em&gt; result in material adjustments to the Company's preliminary estimates. As a result, the Company recorded&#160;$437,874&#160;of intangible assets, including $263,604&#160;of goodwill recorded in the International&#160;segment, as of the acquisition date. The goodwill ascribed to this&#160;acquisition is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; deductible for tax purposes. The accompanying consolidated financial statements include the results of Deep Sea&#160;from the date of acquisition through &lt;em style="font: inherit;"&gt; December&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;31,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2022.&lt;/em&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&lt;b&gt;Acquisition of Chilicon&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;On &lt;em style="font: inherit;"&gt; July&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;2,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2021,&lt;/em&gt; the Company acquired Chilicon for a purchase price, net of cash acquired, of $61,129 inclusive of estimated contingent consideration.&#160;Based in Los Angeles, California, Chilicon is a designer and provider of grid-interactive microinverter and monitoring solutions for the solar market. Chilicon's power inversion and monitoring system technologies maximize photovoltaic (solar power) system production, lower installer operational cost, and promote end-user satisfaction. Total consideration&#160;consisted of the following:&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Cash paid at closing&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;11,821&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Deferred cash payment (1)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6,000&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Common stock issued at closing&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;12,000&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Contingent consideration (2)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;31,308&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Total purchase price&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;61,129&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width: 25px; vertical-align: top;"&gt;(&lt;em style="font: inherit;"&gt;1&lt;/em&gt;)&lt;/td&gt;&lt;td style="vertical-align: top; width: 1730px;"&gt;Payable on the &lt;em style="font: inherit;"&gt;third&lt;/em&gt; business day after &lt;em style="font: inherit;"&gt; December 31, 2023.&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width: 25px; vertical-align: top;"&gt;(&lt;em style="font: inherit;"&gt;2&lt;/em&gt;)&lt;/td&gt;&lt;td style="vertical-align: top; width: 1730px;"&gt;Payable in common stock issued upon achievement of certain performance targets within &lt;em style="font: inherit;"&gt;45&lt;/em&gt; calendar days following the conclusion of the contingent consideration period, &lt;em style="font: inherit;"&gt; December 31, 2025.&#160;&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company finalized the Chilicon&#160;purchase price allocation during the &lt;em style="font: inherit;"&gt;second&lt;/em&gt; quarter of &lt;em style="font: inherit;"&gt;2022&lt;/em&gt; based on its estimates of the fair value of the acquired assets and assumed liabilities. The finalization did &lt;em style="font: inherit;"&gt;not&lt;/em&gt; result in material adjustments to the Company's preliminary estimates. As a result, the Company recorded&#160;$70,174&#160;of intangible assets, including $36,974&#160;of goodwill recorded in the Domestic&#160;segment,&#160;as of the acquisition date. The goodwill ascribed to the Chilicon&#160;acquisition&#160;is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; deductible for tax purposes.&#160;The accompanying consolidated financial statements include the results of Chilicon from&#160;the date&#160;of acquisition through &lt;em style="font: inherit;"&gt; December&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;31,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2022.&lt;/em&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&lt;b&gt;Acquisition of Off Grid Energy&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;On &lt;em style="font: inherit;"&gt; September&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;1,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2021,&lt;/em&gt; the Company acquired Off Grid Energy&#160;for a purchase price of $56,949, net of cash acquired and inclusive of the then estimated contingent consideration&#160;of $29,054&#160;payable in cash based on contingent consideration&#160;period performance.&#160;The contingent consideration was&#160;paid during the &lt;em style="font: inherit;"&gt;third&lt;/em&gt; quarter of &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&#160;in the amount of $16,135. Headquartered in Rugby, United Kingdom,&#160;Off Grid Energy&#160;is a designer and manufacturer of industrial-grade mobile energy storage systems.&#160;The acquisition purchase price was funded&#160;through cash on hand.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;The Company finalized the Off Grid Energy&#160;purchase price allocation during the &lt;em style="font: inherit;"&gt;third&lt;/em&gt;&#160;quarter of &lt;em style="font: inherit;"&gt;2022&lt;/em&gt; based on its&#160;estimates of the fair value of the acquired assets and assumed liabilities. The finalization did &lt;em style="font: inherit;"&gt;not&lt;/em&gt; result in material adjustments to the Company's preliminary estimates.&#160;As a result, the Company recorded&#160;$56,076&#160;of intangible assets, including $21,531&#160;of goodwill recorded in the International&#160;segment, as of the acquisition date. The goodwill ascribed to this&#160;acquisition is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; deductible for tax purposes. The accompanying&#160;consolidated financial statements include the results of Off Grid Energy&#160;from the date of acquisition through &lt;em style="font: inherit;"&gt; December&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;31,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2022.&lt;/em&gt;&#160; &#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&lt;b&gt;Acquisition of ecobee&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;On &lt;em style="font: inherit;"&gt; December 1, 2021, &lt;/em&gt;the Company acquired ecobee for a purchase price, net of cash acquired, of $735,577 inclusive of estimated contingent consideration. Headquartered in Toronto, Canada,&#160;ecobee is a leader in sustainable home technology solutions including smart thermostats that deliver significant energy savings, security and peace of mind.&#160;The&#160;purchase price&#160;consisted of the following:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Cash paid at closing&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;225,403&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Common stock issued at closing&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;420,774&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Contingent consideration (1)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;89,400&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Total purchase price&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;735,577&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt;(&lt;em style="font: inherit;"&gt;1&lt;/em&gt;)&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;To be paid in the form of&#160;common stock issued upon achievement of certain performance targets following the end of &lt;em style="font: inherit;"&gt;two&lt;/em&gt; contingent consideration periods, &lt;em style="font: inherit;"&gt;one&lt;/em&gt; ended &lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;and &lt;em style="font: inherit;"&gt;one&lt;/em&gt; originally ending &lt;em style="font: inherit;"&gt; June 30, 2023.&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The contingent consideration for the period ended&#160;&lt;em style="font: inherit;"&gt; June 30, 2022, &lt;/em&gt;was paid during the &lt;em style="font: inherit;"&gt;fourth&lt;/em&gt; quarter of &lt;em style="font: inherit;"&gt;2022&lt;/em&gt; in the amount of $47,123&#160;in shares of common stock, or 196,531 shares of common stock, and $542&#160;was paid with cash on hand.&#160;Additionally, during the &lt;em style="font: inherit;"&gt;fourth&lt;/em&gt; quarter of &lt;em style="font: inherit;"&gt;2022,&lt;/em&gt; the Company entered into a definitive agreement to accelerate the measurement&#160;and payment for the remaining contingent consideration&#160;period ending &lt;em style="font: inherit;"&gt; June 30, 2023. &lt;/em&gt;The parties agreed to a final payment amount of $45,000&#160;issued with 466,188 shares of&#160;common stock during the &lt;em style="font: inherit;"&gt;first&lt;/em&gt; quarter of &lt;em style="font: inherit;"&gt;2023.&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company finalized the ecobee&#160;purchase price allocation during the &lt;em style="font: inherit;"&gt;fourth&lt;/em&gt;&#160;quarter of &lt;em style="font: inherit;"&gt;2022&lt;/em&gt; based on its&#160;estimates of the fair value of the acquired assets and assumed liabilities. The finalization did &lt;em style="font: inherit;"&gt;not&lt;/em&gt; result in material adjustments to the Company's preliminary estimates.&#160;As a result, the Company recorded&#160;$806,131&#160;of intangible assets, including $248,231&#160;of goodwill recorded in the Domestic&#160;segment, as of the acquisition date. A portion of the&#160;goodwill ascribed to this&#160;acquisition is&#160;deductible for tax purposes. The accompanying consolidated financial statements include the results of ecobee&#160;from the date of acquisition through &lt;em style="font: inherit;"&gt; December&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;31,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2022.&lt;/em&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&lt;b&gt;Other Acquisitions&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;On &lt;em style="font: inherit;"&gt; September 1, 2021, &lt;/em&gt;the Company acquired Apricity Code, an advanced engineering and product design company located in Bend, Oregon.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;On &lt;em style="font: inherit;"&gt; October 1, 2021, &lt;/em&gt;the Company acquired Tank Utility,&#160;a provider of IoT propane tank monitoring that enables the optimization of propane fuel logistics.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;The&#160;combined purchase price for these &lt;em style="font: inherit;"&gt;two&lt;/em&gt; acquisitions was $29,945, net of cash acquired, and was&#160;funded solely through cash on hand.&#160;The Company finalized its purchase price allocation during the &lt;em style="font: inherit;"&gt;third&lt;/em&gt;&#160;quarter of &lt;em style="font: inherit;"&gt;2022&lt;/em&gt; based on the Company's estimates of the fair value of the acquired assets and assumed liabilities. The finalization did &lt;em style="font: inherit;"&gt;not&lt;/em&gt; result in material adjustments to the Company's preliminary estimates. The accompanying consolidated financial statements include the results of these &lt;em style="font: inherit;"&gt;two&lt;/em&gt; acquired businesses since the dates of acquisition through &lt;em style="font: inherit;"&gt; December&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;31,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2022.&lt;/em&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&lt;i&gt;&lt;b&gt;Fiscal &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&lt;b&gt;Acquisition of Enbala&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;On &lt;em style="font: inherit;"&gt; October&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;7,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2020,&lt;/em&gt; the Company acquired Enbala&#160;for a purchase price, net of cash acquired, of $41,982. Enbala is &lt;em style="font: inherit;"&gt;one&lt;/em&gt; of the leading providers of distributed energy optimization and control software that helps support the operational stability of the world's power grids. The acquisition purchase price was funded&#160;solely through cash on hand.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company finalized its&#160;purchase price allocation during the &lt;em style="font: inherit;"&gt;third&lt;/em&gt;&#160;quarter of &lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&#160;based on its estimates of the fair value of the acquired assets and assumed liabilities. The finalization did &lt;em style="font: inherit;"&gt;not&lt;/em&gt; result in material adjustments to the Company's preliminary estimates. As a result, the Company recorded&#160;$46,338&#160;of intangible assets, including $27,038&#160;of goodwill recorded in the Domestic segment, as of the acquisition date. A portion&#160;of the goodwill ascribed to this&#160;acquisition is&#160;deductible for tax purposes. The accompanying&#160;consolidated financial statements include the results of Enbala&#160;from the date of acquisition through &lt;em style="font: inherit;"&gt; December 31, 2022.&#160;&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&lt;b&gt;Other Acquisitions&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;On&#160;&lt;em style="font: inherit;"&gt; July 1, 2020,&lt;/em&gt;&lt;i&gt;&#160;&lt;/i&gt;the Company acquired Energy Systems, its&#160;industrial distributor in northern California.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;On&#160;&lt;em style="font: inherit;"&gt; September 1, 2020,&#160;&lt;/em&gt;the Company acquired Mean Green, a designer and manufacturer of commercial grade, battery-powered turf care products.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The&#160;combined purchase price for these acquisitions was $22,958&#160;and was&#160;funded solely through cash on hand.&#160;The Company finalized its&#160;purchase price allocation for these &lt;em style="font: inherit;"&gt;two&lt;/em&gt; acquisitions during the &lt;em style="font: inherit;"&gt;third&lt;/em&gt;&#160;quarter of &lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&#160;based on its estimates of the fair value of the acquired assets and assumed liabilities. The finalization did &lt;em style="font: inherit;"&gt;not&lt;/em&gt; result in material adjustments to the Company's preliminary estimates. The accompanying&#160;consolidated financial statements include the results of the acquired businesses since the dates of acquisition through &lt;em style="font: inherit;"&gt; December 31, 2022.&#160;&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&lt;b&gt;&lt;i&gt;Summary Purchase Price Allocations&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The fair values assigned to certain assets acquired and liabilities assumed for all acquisitions completed during the reporting period, as of the acquisition dates, are as follows:&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022 Acquisitions&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021 Acquisitions&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2020 Acquisitions&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Deep Sea&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;ecobee&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;All Other&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 28%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Accounts receivable&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;12,656&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;9,574&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;23,337&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;13,852&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;46,763&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;5,094&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Inventories&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,138&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;9,970&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;7,258&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;7,034&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;24,262&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,575&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4,707&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,181&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;5,689&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;6,594&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;13,464&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;858&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Property and equipment&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;708&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;8,838&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,588&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;480&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;12,906&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;635&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Intangible assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;8,711&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;174,270&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;557,900&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;81,171&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;813,341&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;26,235&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Goodwill&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;6,870&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;263,604&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;248,231&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;83,859&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;595,694&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;40,395&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Deferred income taxes&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;40,020&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;5,694&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;45,714&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Other assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,953&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;151&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;9,289&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;8,526&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;17,966&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,122&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Total assets acquired&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;38,743&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;467,588&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;895,312&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;207,210&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,570,110&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;77,914&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Accounts payable&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,479&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;8,998&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;25,968&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;7,473&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;42,439&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4,088&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Accrued wages and employee benefits&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,429&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;2,106&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,354&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;872&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4,332&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;700&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Other accrued liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;7,934&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,737&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;19,898&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;18,258&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;39,893&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;2,151&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Short-term borrowings&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;800&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;800&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Current portion of long-term borrowings and finance lease obligations&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;233&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;233&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Deferred income taxes&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,090&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;33,957&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;78,753&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;19,930&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;132,640&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,827&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Other long-term liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,157&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;90&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;33,762&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;9,997&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;43,849&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;2,208&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Long-term debt&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,624&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,624&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Net assets acquired&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;25,654&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;420,700&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;735,577&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;148,023&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,304,300&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;64,940&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The allocations of the purchase price to identifiable assets and liabilities for the&#160;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt; acquisitions are based on the final valuations performed to determine the fair value of the net assets as of their respective acquisition dates.&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&lt;i&gt;Pro Forma Information&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The following unaudited pro forma information of the Company gives effect to all acquisitions as though the transactions had occurred on &lt;em style="font: inherit;"&gt; January 1, 2020.&#160;&lt;/em&gt;Refer to Note &lt;em style="font: inherit;"&gt;1,&lt;/em&gt; &#x201c;Description of Business,&#x201d; for further information on the acquisitions included in the table.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt 7.2pt;text-align:left;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Net Sales:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;As reported&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;4,564,737&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;3,737,184&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2,485,200&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Pro forma&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;4,593,485&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;3,932,250&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;2,764,363&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Net income attributable to Generac Holdings Inc.:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;As reported&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;399,502&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;550,494&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;350,576&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Pro forma (1)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;402,670&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;462,903&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;267,376&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Net income attributable to Generac Holdings Inc. per common share - diluted&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;As reported&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;5.42&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;8.30&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;5.48&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Pro forma&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;5.47&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;6.94&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;4.11&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt;(&lt;em style="font: inherit;"&gt;1&lt;/em&gt;)&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;Includes additional pro forma intangible amortization from all acquisitions as though the transactions had occurred on &lt;em style="font: inherit;"&gt; January 1, 2020 &lt;/em&gt;of $941, $68,247, and $84,151 for the years ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021,&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020,&lt;/em&gt;&#160;respectively.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;This unaudited pro forma information is presented for informational purposes only and is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; necessarily indicative of the results of operations that actually would have been achieved had the acquisitions been consummated on &lt;em style="font: inherit;"&gt; January 1, 2020.&lt;/em&gt;&lt;/p&gt;
  </us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-EECAndBluePillarMember"
      decimals="-3"
      id="c93263649"
      unitRef="USD">25654000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="d_2021-06-01_2021-06-01_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-5"
      id="c93263657"
      unitRef="USD">420700000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <gnrc:BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill
      contextRef="i_2021-06-01_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-3"
      id="c93263661"
      unitRef="USD">437874000</gnrc:BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill>
    <us-gaap:Goodwill
      contextRef="i_2021-06-01_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-3"
      id="c93263662"
      unitRef="USD">263604000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="d_2021-07-02_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember"
      decimals="-3"
      id="c93263668"
      unitRef="USD">61129000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <gnrc:ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock
      contextRef="d_2022-01-01_2022-12-31"
      id="c47C6932A-7045-4819-9290-0EC8D30C7A1D">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Cash paid at closing&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;11,821&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Deferred cash payment (1)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;6,000&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Common stock issued at closing&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;12,000&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Contingent consideration (2)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;31,308&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Total purchase price&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;61,129&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Cash paid at closing&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;225,403&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Common stock issued at closing&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;420,774&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Contingent consideration (1)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;89,400&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: Times New Roman; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Total purchase price&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;735,577&lt;/td&gt;&lt;td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </gnrc:ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="d_2021-07-02_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember"
      decimals="-3"
      id="c93263755"
      unitRef="USD">11821000</us-gaap:PaymentsToAcquireBusinessesGross>
    <gnrc:PaymentsToAcquireBusinessesDeferredCashPayment
      contextRef="d_2021-07-02_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember"
      decimals="-6"
      id="c93263756"
      unitRef="USD">6000000</gnrc:PaymentsToAcquireBusinessesDeferredCashPayment>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="d_2021-07-02_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember"
      decimals="-6"
      id="c93263757"
      unitRef="USD">12000000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="d_2021-07-02_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember"
      decimals="-3"
      id="c93263758"
      unitRef="USD">31308000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="d_2021-07-02_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember"
      decimals="-3"
      id="c93263759"
      unitRef="USD">61129000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <gnrc:BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill
      contextRef="i_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember"
      decimals="-3"
      id="c93263676"
      unitRef="USD">70174000</gnrc:BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill>
    <us-gaap:Goodwill
      contextRef="i_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember"
      decimals="-3"
      id="c93263677"
      unitRef="USD">36974000</us-gaap:Goodwill>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="d_2021-09-01_2021-09-01_BusinessAcquisitionAxis-AcquisitionOfOffGridEnergyMember"
      decimals="-3"
      id="c93263683"
      unitRef="USD">56949000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-AcquisitionOfOffGridEnergyMember"
      decimals="-3"
      id="c93263684"
      unitRef="USD">29054000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="d_2022-07-01_2022-09-30_BusinessAcquisitionAxis-AcquisitionOfOffGridEnergyMember"
      decimals="-3"
      id="c93263687"
      unitRef="USD">16135000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <gnrc:BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-AcquisitionOfOffGridEnergyMember"
      decimals="-3"
      id="c93263691"
      unitRef="USD">56076000</gnrc:BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill>
    <us-gaap:Goodwill
      contextRef="i_2021-09-01_BusinessAcquisitionAxis-AcquisitionOfOffGridEnergyMember"
      decimals="-3"
      id="c93263692"
      unitRef="USD">21531000</us-gaap:Goodwill>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="d_2021-12-01_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263696"
      unitRef="USD">735577000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="d_2021-12-01_2021-12-01_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263760"
      unitRef="USD">225403000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="d_2021-12-01_2021-12-01_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263761"
      unitRef="USD">420774000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="d_2021-12-01_2021-12-01_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-5"
      id="c93263762"
      unitRef="USD">89400000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="d_2021-12-01_2021-12-01_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263763"
      unitRef="USD">735577000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <gnrc:ContingentConsiderationSharePaymentsValue
      contextRef="d_2022-10-01_2022-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263703"
      unitRef="USD">47123000</gnrc:ContingentConsiderationSharePaymentsValue>
    <gnrc:ContingentConsiderationSharePaymentShares
      contextRef="d_2022-10-01_2022-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="INF"
      id="c93263704"
      unitRef="Share">196531</gnrc:ContingentConsiderationSharePaymentShares>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="d_2022-10-01_2022-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263705"
      unitRef="USD">542000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <gnrc:ContingentConsiderationSharePaymentsValue
      contextRef="d_2023-01-01_2023-03-31_BusinessAcquisitionAxis-EcobeeIncMember_StatementScenarioAxis-ScenarioForecastMember"
      decimals="-6"
      id="c93263708"
      unitRef="USD">45000000</gnrc:ContingentConsiderationSharePaymentsValue>
    <gnrc:ContingentConsiderationSharePaymentShares
      contextRef="d_2023-01-01_2023-03-31_BusinessAcquisitionAxis-EcobeeIncMember_StatementScenarioAxis-ScenarioForecastMember"
      decimals="INF"
      id="c93263709"
      unitRef="Share">466188</gnrc:ContingentConsiderationSharePaymentShares>
    <gnrc:BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill
      contextRef="i_2021-12-01_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263715"
      unitRef="USD">806131000</gnrc:BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill>
    <us-gaap:Goodwill
      contextRef="i_2021-12-01_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263716"
      unitRef="USD">248231000</us-gaap:Goodwill>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="d_2021-01-01_2021-12-31_BusinessAcquisitionAxis-Other2021AcquisitionsMember"
      decimals="-3"
      id="c93263720"
      unitRef="USD">29945000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="d_2020-10-07_2020-10-07_BusinessAcquisitionAxis-AcquisitionOfEnbalaMember"
      decimals="-3"
      id="c93263731"
      unitRef="USD">41982000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <gnrc:BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill
      contextRef="i_2020-10-07_BusinessAcquisitionAxis-AcquisitionOfEnbalaMember"
      decimals="-3"
      id="c93263736"
      unitRef="USD">46338000</gnrc:BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill>
    <us-gaap:Goodwill
      contextRef="i_2020-10-07_BusinessAcquisitionAxis-AcquisitionOfEnbalaMember"
      decimals="-3"
      id="c93263737"
      unitRef="USD">27038000</us-gaap:Goodwill>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="d_2020-07-01_2020-09-30_BusinessAcquisitionAxis-Other2020AcquisitionsMember"
      decimals="-3"
      id="c93263738"
      unitRef="USD">22958000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284665">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022 Acquisitions&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2021 Acquisitions&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2020 Acquisitions&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Deep Sea&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;ecobee&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;All Other&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 28%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Accounts receivable&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;12,656&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;9,574&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;23,337&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;13,852&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;46,763&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;5,094&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Inventories&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,138&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;9,970&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;7,258&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;7,034&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;24,262&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,575&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4,707&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,181&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;5,689&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;6,594&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;13,464&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;858&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Property and equipment&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;708&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;8,838&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,588&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;480&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;12,906&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;635&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Intangible assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;8,711&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;174,270&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;557,900&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;81,171&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;813,341&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;26,235&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Goodwill&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;6,870&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;263,604&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;248,231&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;83,859&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;595,694&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;40,395&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Deferred income taxes&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;40,020&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;5,694&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;45,714&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Other assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,953&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;151&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;9,289&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;8,526&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;17,966&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,122&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Total assets acquired&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;38,743&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;467,588&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;895,312&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;207,210&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,570,110&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;77,914&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Accounts payable&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,479&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;8,998&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;25,968&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;7,473&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;42,439&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4,088&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Accrued wages and employee benefits&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,429&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;2,106&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,354&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;872&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4,332&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;700&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Other accrued liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;7,934&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,737&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;19,898&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;18,258&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;39,893&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;2,151&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Short-term borrowings&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;800&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;800&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Current portion of long-term borrowings and finance lease obligations&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;233&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;233&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Deferred income taxes&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,090&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;33,957&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;78,753&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;19,930&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;132,640&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,827&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Other long-term liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,157&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;90&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;33,762&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;9,997&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;43,849&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;2,208&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Long-term debt&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,624&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,624&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Net assets acquired&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;25,654&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;420,700&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;735,577&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;148,023&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,304,300&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;64,940&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember"
      decimals="-3"
      id="c93263765"
      unitRef="USD">12656000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-3"
      id="c93263767"
      unitRef="USD">9574000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263769"
      unitRef="USD">23337000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember"
      decimals="-3"
      id="c93263771"
      unitRef="USD">13852000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember"
      decimals="-3"
      id="c93263773"
      unitRef="USD">46763000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember"
      decimals="-3"
      id="c93263775"
      unitRef="USD">5094000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember"
      decimals="-3"
      id="c93263777"
      unitRef="USD">3138000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-4"
      id="c93263779"
      unitRef="USD">9970000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263781"
      unitRef="USD">7258000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember"
      decimals="-3"
      id="c93263783"
      unitRef="USD">7034000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember"
      decimals="-3"
      id="c93263785"
      unitRef="USD">24262000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember"
      decimals="-3"
      id="c93263787"
      unitRef="USD">3575000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember"
      decimals="-3"
      id="c93263788"
      unitRef="USD">4707000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-3"
      id="c93263789"
      unitRef="USD">1181000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263790"
      unitRef="USD">5689000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember"
      decimals="-3"
      id="c93263791"
      unitRef="USD">6594000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember"
      decimals="-3"
      id="c93263792"
      unitRef="USD">13464000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember"
      decimals="-3"
      id="c93263793"
      unitRef="USD">858000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember"
      decimals="-3"
      id="c93263794"
      unitRef="USD">708000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-3"
      id="c93263795"
      unitRef="USD">8838000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263796"
      unitRef="USD">3588000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember"
      decimals="-4"
      id="c93263797"
      unitRef="USD">480000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember"
      decimals="-3"
      id="c93263798"
      unitRef="USD">12906000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember"
      decimals="-3"
      id="c93263799"
      unitRef="USD">635000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember"
      decimals="-3"
      id="c93263800"
      unitRef="USD">8711000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-4"
      id="c93263801"
      unitRef="USD">174270000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-5"
      id="c93263802"
      unitRef="USD">557900000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember"
      decimals="-3"
      id="c93263803"
      unitRef="USD">81171000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember"
      decimals="-3"
      id="c93263804"
      unitRef="USD">813341000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember"
      decimals="-3"
      id="c93263805"
      unitRef="USD">26235000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember"
      decimals="-4"
      id="c93263806"
      unitRef="USD">6870000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-3"
      id="c93263807"
      unitRef="USD">263604000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263808"
      unitRef="USD">248231000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember"
      decimals="-3"
      id="c93263809"
      unitRef="USD">83859000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember"
      decimals="-3"
      id="c93263810"
      unitRef="USD">595694000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember"
      decimals="-3"
      id="c93263811"
      unitRef="USD">40395000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets
      contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember"
      decimals="-3"
      id="c93263812"
      unitRef="USD">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-3"
      id="c93263813"
      unitRef="USD">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-4"
      id="c93263814"
      unitRef="USD">40020000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember"
      decimals="-3"
      id="c93263815"
      unitRef="USD">5694000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember"
      decimals="-3"
      id="c93263816"
      unitRef="USD">45714000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets
      contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember"
      decimals="-3"
      id="c93263817"
      unitRef="USD">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember"
      decimals="-3"
      id="c93263818"
      unitRef="USD">1953000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-3"
      id="c93263819"
      unitRef="USD">151000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263820"
      unitRef="USD">9289000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember"
      decimals="-3"
      id="c93263821"
      unitRef="USD">8526000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember"
      decimals="-3"
      id="c93263822"
      unitRef="USD">17966000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember"
      decimals="-3"
      id="c93263823"
      unitRef="USD">1122000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill
      contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember"
      decimals="-3"
      id="c93263824"
      unitRef="USD">38743000</gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill>
    <gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-3"
      id="c93263825"
      unitRef="USD">467588000</gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill>
    <gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263826"
      unitRef="USD">895312000</gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill>
    <gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember"
      decimals="-4"
      id="c93263827"
      unitRef="USD">207210000</gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill>
    <gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember"
      decimals="-4"
      id="c93263828"
      unitRef="USD">1570110000</gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill>
    <gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill
      contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember"
      decimals="-3"
      id="c93263829"
      unitRef="USD">77914000</gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember"
      decimals="-3"
      id="c93263830"
      unitRef="USD">1479000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-3"
      id="c93263831"
      unitRef="USD">8998000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263832"
      unitRef="USD">25968000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember"
      decimals="-3"
      id="c93263833"
      unitRef="USD">7473000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember"
      decimals="-3"
      id="c93263834"
      unitRef="USD">42439000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember"
      decimals="-3"
      id="c93263835"
      unitRef="USD">4088000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits
      contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember"
      decimals="-3"
      id="c93263836"
      unitRef="USD">1429000</gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits>
    <gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-3"
      id="c93263837"
      unitRef="USD">2106000</gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits>
    <gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263838"
      unitRef="USD">1354000</gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits>
    <gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember"
      decimals="-3"
      id="c93263839"
      unitRef="USD">872000</gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits>
    <gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember"
      decimals="-3"
      id="c93263840"
      unitRef="USD">4332000</gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits>
    <gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits
      contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember"
      decimals="-5"
      id="c93263841"
      unitRef="USD">700000</gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther
      contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember"
      decimals="-3"
      id="c93263842"
      unitRef="USD">7934000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-3"
      id="c93263843"
      unitRef="USD">1737000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263844"
      unitRef="USD">19898000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember"
      decimals="-3"
      id="c93263845"
      unitRef="USD">18258000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember"
      decimals="-3"
      id="c93263846"
      unitRef="USD">39893000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther
      contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember"
      decimals="-3"
      id="c93263847"
      unitRef="USD">2151000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther>
    <gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings
      contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember"
      decimals="-3"
      id="c93263848"
      unitRef="USD">0</gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings>
    <gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-3"
      id="c93263849"
      unitRef="USD">0</gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings>
    <gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263850"
      unitRef="USD">0</gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings>
    <gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember"
      decimals="-5"
      id="c93263851"
      unitRef="USD">800000</gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings>
    <gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember"
      decimals="-5"
      id="c93263852"
      unitRef="USD">800000</gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings>
    <gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings
      contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember"
      decimals="-3"
      id="c93263853"
      unitRef="USD">0</gnrc:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt
      contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember"
      decimals="-3"
      id="c93263854"
      unitRef="USD">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-3"
      id="c93263855"
      unitRef="USD">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263856"
      unitRef="USD">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember"
      decimals="-3"
      id="c93263857"
      unitRef="USD">233000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember"
      decimals="-3"
      id="c93263858"
      unitRef="USD">233000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt
      contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember"
      decimals="-3"
      id="c93263859"
      unitRef="USD">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember"
      decimals="-4"
      id="c93263860"
      unitRef="USD">1090000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-3"
      id="c93263861"
      unitRef="USD">33957000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263862"
      unitRef="USD">78753000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember"
      decimals="-4"
      id="c93263863"
      unitRef="USD">19930000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember"
      decimals="-4"
      id="c93263864"
      unitRef="USD">132640000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember"
      decimals="-3"
      id="c93263865"
      unitRef="USD">3827000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember"
      decimals="-3"
      id="c93263866"
      unitRef="USD">1157000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-4"
      id="c93263867"
      unitRef="USD">90000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263868"
      unitRef="USD">33762000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember"
      decimals="-3"
      id="c93263869"
      unitRef="USD">9997000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember"
      decimals="-3"
      id="c93263870"
      unitRef="USD">43849000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember"
      decimals="-3"
      id="c93263871"
      unitRef="USD">2208000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt
      contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember"
      decimals="-3"
      id="c93263872"
      unitRef="USD">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-3"
      id="c93263873"
      unitRef="USD">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263874"
      unitRef="USD">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember"
      decimals="-3"
      id="c93263875"
      unitRef="USD">1624000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember"
      decimals="-3"
      id="c93263876"
      unitRef="USD">1624000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt
      contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember"
      decimals="-3"
      id="c93263877"
      unitRef="USD">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember"
      decimals="-3"
      id="c93263878"
      unitRef="USD">25654000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AcquisitionOfDeepSeaMember"
      decimals="-5"
      id="c93263879"
      unitRef="USD">420700000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-EcobeeIncMember"
      decimals="-3"
      id="c93263880"
      unitRef="USD">735577000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-AllOther2021AcquisitionsMember"
      decimals="-3"
      id="c93263881"
      unitRef="USD">148023000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i_2021-12-31_BusinessAcquisitionAxis-The2021AcquisitionsMember"
      decimals="-5"
      id="c93263882"
      unitRef="USD">1304300000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i_2020-12-31_BusinessAcquisitionAxis-The2020AcquisitionsMember"
      decimals="-4"
      id="c93263883"
      unitRef="USD">64940000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessAcquisitionProFormaInformationNonrecurringAdjustmentsTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284666">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Net Sales:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;As reported&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;4,564,737&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;3,737,184&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2,485,200&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Pro forma&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;4,593,485&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;3,932,250&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;2,764,363&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Net income attributable to Generac Holdings Inc.:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;As reported&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;399,502&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;550,494&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;350,576&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Pro forma (1)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;402,670&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;462,903&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;267,376&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Net income attributable to Generac Holdings Inc. per common share - diluted&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;As reported&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;5.42&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;8.30&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;5.48&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Pro forma&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;5.47&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;6.94&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;4.11&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:BusinessAcquisitionProFormaInformationNonrecurringAdjustmentsTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263891"
      unitRef="USD">4564737000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263892"
      unitRef="USD">3737184000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-5"
      id="c93263893"
      unitRef="USD">2485200000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_StatementScenarioAxis-ProFormaMember"
      decimals="-3"
      id="c93263894"
      unitRef="USD">4593485000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_StatementScenarioAxis-ProFormaMember"
      decimals="-4"
      id="c93263895"
      unitRef="USD">3932250000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_StatementScenarioAxis-ProFormaMember"
      decimals="-3"
      id="c93263896"
      unitRef="USD">2764363000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263898"
      unitRef="USD">399502000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263899"
      unitRef="USD">550494000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263900"
      unitRef="USD">350576000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-12-31_StatementScenarioAxis-ProFormaMember"
      decimals="-4"
      id="c93263901"
      unitRef="USD">402670000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-12-31_StatementScenarioAxis-ProFormaMember"
      decimals="-3"
      id="c93263902"
      unitRef="USD">462903000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-01-01_2020-12-31_StatementScenarioAxis-ProFormaMember"
      decimals="-3"
      id="c93263903"
      unitRef="USD">267376000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93263905"
      unitRef="USDPerShare">5.42</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93263906"
      unitRef="USDPerShare">8.30</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93263907"
      unitRef="USDPerShare">5.48</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2022-01-01_2022-12-31_StatementScenarioAxis-ProFormaMember"
      decimals="INF"
      id="c93263908"
      unitRef="USDPerShare">5.47</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2021-01-01_2021-12-31_StatementScenarioAxis-ProFormaMember"
      decimals="INF"
      id="c93263909"
      unitRef="USDPerShare">6.94</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2020-01-01_2020-12-31_StatementScenarioAxis-ProFormaMember"
      decimals="INF"
      id="c93263910"
      unitRef="USDPerShare">4.11</us-gaap:EarningsPerShareDiluted>
    <gnrc:ProformaAmortizationOfIntangibleAssets
      contextRef="d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-AllAcquisitionsMember"
      decimals="-6"
      id="c93263749"
      unitRef="USD">941000000</gnrc:ProformaAmortizationOfIntangibleAssets>
    <gnrc:ProformaAmortizationOfIntangibleAssets
      contextRef="d_2021-01-01_2021-12-31_BusinessAcquisitionAxis-AllAcquisitionsMember"
      decimals="-6"
      id="c93263750"
      unitRef="USD">68247000000</gnrc:ProformaAmortizationOfIntangibleAssets>
    <gnrc:ProformaAmortizationOfIntangibleAssets
      contextRef="d_2020-01-01_2020-12-31_BusinessAcquisitionAxis-AllAcquisitionsMember"
      decimals="-6"
      id="c93263751"
      unitRef="USD">84151000000</gnrc:ProformaAmortizationOfIntangibleAssets>
    <gnrc:RedeemableNoncontrollingInterestTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284667">
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;
    &lt;tbody&gt;
     &lt;tr&gt;
      &lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;4.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
      &lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;Redeemable Noncontrolling Interest&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
     &lt;/tr&gt;

    &lt;/tbody&gt;
   &lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;On &lt;em style="font: inherit;"&gt; March 1, 2016, &lt;/em&gt;the Company acquired a 65% ownership interest in PR Industrial S.r.l. and its subsidiaries (Pramac). The 35% noncontrolling interest in Pramac had an acquisition date fair value of $34,253 and was recorded as a redeemable noncontrolling interest in the consolidated balance sheet, as the noncontrolling interest holder had the right to require the Company to redeem its interest in Pramac. In &lt;em style="font: inherit;"&gt; February 2019, &lt;/em&gt;the Company amended its agreement with the noncontrolling interest holder of Pramac, extending the agreement by &lt;span style="-sec-ix-hidden:c93263915"&gt;five&lt;/span&gt; years, allowing the Company to exercise its call option rights in partial increments at certain times during the &lt;em style="font: inherit;"&gt;five&lt;/em&gt;-year period, and providing that the noncontrolling interest holder &lt;em style="font: inherit;"&gt;no&lt;/em&gt; longer held&#160;the right to put its shares to the Company until &lt;em style="font: inherit;"&gt; April 1, 2021. &lt;/em&gt;The put and call option price is based on a multiple of earnings, subject to a floor and the terms of the acquisition agreement, as amended. In &lt;em style="font: inherit;"&gt; May 2021, &lt;/em&gt;the Company exercised its call option rights and paid a purchase price of $27,164 to purchase an additional 15% ownership interest in Pramac, bringing the Company's total ownership interest&#160;to 80%. The Company still holds its call option right to purchase the remaining 20% ownership interest in partial increments over the next &lt;span style="-sec-ix-hidden:c93263922"&gt;two&lt;/span&gt;&#160;years.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"&gt;On &lt;em style="font: inherit;"&gt; February 1, 2019, &lt;/em&gt;the Company acquired a 51% ownership interest in Captiva Energy Solutions, Ltd (Captiva). The 49% noncontrolling interest in Captiva had&#160;an acquisition date fair value of $3,165 and was recorded as a redeemable noncontrolling interest in the consolidated balance sheet, as the noncontrolling interest holder had&#160;the right to require the Company to redeem its interest in Captiva. The noncontrolling interest holder has a put option to sell his interest to the Company any time after &lt;span style="-sec-ix-hidden:c93263927"&gt;five&lt;/span&gt; years from the date of acquisition, or earlier upon the occurrence of certain circumstances. Further, the Company has a call option that it &lt;em style="font: inherit;"&gt; may &lt;/em&gt;redeem any time after &lt;span style="-sec-ix-hidden:c93263928"&gt;five&lt;/span&gt; years from the date of acquisition, or earlier upon the occurrence of certain circumstances. The put and call option price is based on a multiple of earnings, subject to the terms of the acquisition agreement.&#160;In &lt;em style="font: inherit;"&gt; March 2022, &lt;/em&gt;the Company signed an agreement to purchase an additional 15% ownership interest in Captiva for a purchase price of $461, bringing&#160;the Company's total ownership interest in Captiva to 66%.&#160;In &lt;em style="font: inherit;"&gt; May 2022, &lt;/em&gt;the Company signed an amendment to the purchase agreement resulting in a revised purchase price of $375, which&#160;was paid with cash on hand. The Company still holds its call option&#160;right&#160;to purchase the remaining 34% ownership interest any time after &lt;span style="-sec-ix-hidden:c93263934"&gt;five&lt;/span&gt; years from the date of acquisition, or earlier upon the occurrence of certain circumstances.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;For both transactions, the redeemable noncontrolling interest is recorded at the greater of the initial fair value, increased or decreased for the noncontrolling interests&#x2019; share of subsequent comprehensive income (loss), or the estimated redemption value, with any adjustments to the redemption value impacting retained earnings, but &lt;em style="font: inherit;"&gt;not&lt;/em&gt; net income. However, the redemption value adjustments are reflected in the earnings per share calculation, as detailed in Note &lt;em style="font: inherit;"&gt;14,&lt;/em&gt; &#x201c;Earnings Per Share,&#x201d; to the consolidated financial statements. The following table presents the changes in the redeemable noncontrolling interest:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Balance at beginning of period&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;58,050&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;66,207&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;61,227&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Share of net income (loss)&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;7,543&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;5,574&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;(2,829&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Foreign currency translation&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;(3,982&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;(3,669&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;6,562&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Purchase of additional ownership interest&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;(375&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;(27,164&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Redemption value adjustment&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;49,235&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;17,102&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,247&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Balance at end of period&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;110,471&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;58,050&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;66,207&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;

   &lt;p style="margin: 0; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt"&gt;&#160;&lt;/p&gt;
  </gnrc:RedeemableNoncontrollingInterestTextBlock>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="i_2016-03-01_BusinessAcquisitionAxis-PramacMember"
      decimals="2"
      id="c93263912"
      unitRef="Pure">0.65</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="i_2016-03-01_OwnershipAxis-PramacMember"
      decimals="2"
      id="c93263913"
      unitRef="Pure">0.35</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:RedeemableNoncontrollingInterestEquityFairValue
      contextRef="i_2016-03-01_BusinessAcquisitionAxis-PramacMember"
      decimals="-3"
      id="c93263914"
      unitRef="USD">34253000</us-gaap:RedeemableNoncontrollingInterestEquityFairValue>
    <us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest
      contextRef="d_2021-05-01_2021-05-31_BusinessAcquisitionAxis-PramacMember"
      decimals="-3"
      id="c93263918"
      unitRef="USD">27164000</us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="i_2021-05-31_BusinessAcquisitionAxis-PramacMember"
      decimals="2"
      id="c93263919"
      unitRef="Pure">0.15</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage
      contextRef="i_2021-05-31_BusinessAcquisitionAxis-PramacMember"
      decimals="1"
      id="c93263920"
      unitRef="Pure">0.80</us-gaap:BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="i_2021-05-31_OwnershipAxis-PramacMember"
      decimals="1"
      id="c93263921"
      unitRef="Pure">0.20</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="i_2019-02-01_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember"
      decimals="2"
      id="c93263924"
      unitRef="Pure">0.51</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="i_2019-02-01_OwnershipAxis-CaptivaEnergySolutionsMember"
      decimals="2"
      id="c93263925"
      unitRef="Pure">0.49</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:RedeemableNoncontrollingInterestEquityFairValue
      contextRef="i_2019-02-01_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember"
      decimals="-3"
      id="c93263926"
      unitRef="USD">3165000</us-gaap:RedeemableNoncontrollingInterestEquityFairValue>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="i_2022-03-31_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember"
      decimals="2"
      id="c93263929"
      unitRef="Pure">0.15</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest
      contextRef="d_2022-03-01_2022-03-31_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember"
      decimals="-3"
      id="c93263930"
      unitRef="USD">461000</us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest>
    <us-gaap:BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage
      contextRef="i_2022-05-31_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember"
      decimals="2"
      id="c93263931"
      unitRef="Pure">0.66</us-gaap:BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage>
    <us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest
      contextRef="d_2022-05-01_2022-05-31_BusinessAcquisitionAxis-CaptivaEnergySolutionsMember"
      decimals="-3"
      id="c93263932"
      unitRef="USD">375000</us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="i_2022-12-31_OwnershipAxis-CaptivaEnergySolutionsMember"
      decimals="2"
      id="c93263933"
      unitRef="Pure">0.34</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:RedeemableNoncontrollingInterestTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284668">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;
     &lt;tbody&gt;
      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Balance at beginning of period&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;58,050&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;66,207&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;61,227&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Share of net income (loss)&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;7,543&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;5,574&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;(2,829&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Foreign currency translation&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;(3,982&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;(3,669&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;6,562&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Purchase of additional ownership interest&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;(375&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;(27,164&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Redemption value adjustment&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;49,235&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;17,102&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,247&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;
       &lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Balance at end of period&lt;/p&gt; &lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;110,471&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;58,050&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
       &lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;66,207&lt;/td&gt;
       &lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
      &lt;/tr&gt;

     &lt;/tbody&gt;
    &lt;/table&gt;
   </us-gaap:RedeemableNoncontrollingInterestTableTextBlock>
    <us-gaap:TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"
      decimals="-4"
      id="c93263943"
      unitRef="USD">58050000</us-gaap:TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests>
    <us-gaap:TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests
      contextRef="i_2020-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"
      decimals="-3"
      id="c93263944"
      unitRef="USD">66207000</us-gaap:TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests>
    <us-gaap:TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests
      contextRef="i_2019-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"
      decimals="-3"
      id="c93263945"
      unitRef="USD">61227000</us-gaap:TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests>
    <us-gaap:TemporaryEquityNetIncome
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"
      decimals="-3"
      id="c93263946"
      unitRef="USD">7543000</us-gaap:TemporaryEquityNetIncome>
    <us-gaap:TemporaryEquityNetIncome
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"
      decimals="-3"
      id="c93263947"
      unitRef="USD">5574000</us-gaap:TemporaryEquityNetIncome>
    <us-gaap:TemporaryEquityNetIncome
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"
      decimals="-3"
      id="c93263948"
      unitRef="USD">-2829000</us-gaap:TemporaryEquityNetIncome>
    <us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"
      decimals="-3"
      id="c93263949"
      unitRef="USD">-3982000</us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments>
    <us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"
      decimals="-3"
      id="c93263950"
      unitRef="USD">-3669000</us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments>
    <us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"
      decimals="-3"
      id="c93263951"
      unitRef="USD">6562000</us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"
      decimals="-3"
      id="c93263952"
      unitRef="USD">375000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"
      decimals="-3"
      id="c93263953"
      unitRef="USD">27164000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"
      decimals="-3"
      id="c93263954"
      unitRef="USD">-0</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"
      decimals="-3"
      id="c93263955"
      unitRef="USD">49235000</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"
      decimals="-3"
      id="c93263956"
      unitRef="USD">17102000</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2020-01-01_2020-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"
      decimals="-3"
      id="c93263957"
      unitRef="USD">1247000</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"
      decimals="-3"
      id="c93263958"
      unitRef="USD">110471000</us-gaap:TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests>
    <us-gaap:TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"
      decimals="-4"
      id="c93263959"
      unitRef="USD">58050000</us-gaap:TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests>
    <us-gaap:TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests
      contextRef="i_2020-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember"
      decimals="-3"
      id="c93263960"
      unitRef="USD">66207000</us-gaap:TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests>
    <us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284669">
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;5.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;Derivative Instruments and Hedging Activities&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;&lt;i&gt;Commodities&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company is exposed to price fluctuations in commodities including steel, copper and aluminum; and periodically utilizes commodity derivatives to mitigate the impact of these potential price fluctuations on its financial results. These derivatives typically have maturities of less than &lt;em style="font: inherit;"&gt;eighteen&lt;/em&gt; months. At &lt;em style="font: inherit;"&gt; December 31, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021,&lt;/em&gt;&#160;the Company had no&#160;commodity contracts outstanding.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Because these contracts do &lt;em style="font: inherit;"&gt;not&lt;/em&gt; qualify for hedge accounting, the related gains and losses are recorded in cost of goods sold in the Company&#x2019;s consolidated statements of comprehensive income. Net pre-tax gains&#160;recognized were $29, $613, and&#160;$2,185&#160;for the years ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;&lt;i&gt;Foreign Currencies&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company is exposed to foreign currency exchange risk as a result of transactions denominated in currencies other than the U.S. Dollar. The Company periodically utilizes foreign currency forward purchase and sales contracts to manage the volatility associated with certain foreign currency purchases and sales in the normal course of business. Contracts typically have maturities of &lt;em style="font: inherit;"&gt;twelve&lt;/em&gt; months or less. As of&#160;&lt;em style="font: inherit;"&gt; December 31, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021&lt;/em&gt;, the Company had &lt;span style="-sec-ix-hidden:c93263974"&gt;thirty-four&lt;/span&gt; and &lt;span style="-sec-ix-hidden:c93263975"&gt;eleven&lt;/span&gt; foreign currency contracts outstanding, respectively.&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;Because these contracts do &lt;em style="font: inherit;"&gt;not&lt;/em&gt; qualify for hedge accounting, the related gains and losses are recorded in &#x201c;other, net&#x201d; in the Company&#x2019;s consolidated statements of comprehensive income. Net pre-tax gains (losses) recognized for the years ended&#160;&lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&#160;were $579, $(416), and $355, respectively.&lt;/p&gt;
   &lt;p style="font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;&lt;i&gt;Interest Rate Swaps&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;In &lt;em style="font: inherit;"&gt;2017,&lt;/em&gt; the Company entered into &lt;span style="-sec-ix-hidden:c93263985"&gt;twenty&lt;/span&gt; interest rate swap agreements, &lt;em style="font: inherit;"&gt;four&lt;/em&gt;&#160;of which were still outstanding as of &lt;em style="font: inherit;"&gt; December 31, 2022. &lt;/em&gt;In &lt;em style="font: inherit;"&gt; March 2020, &lt;/em&gt;the Company entered into &lt;span style="-sec-ix-hidden:c93263987"&gt;three&lt;/span&gt; additional interest rate swap agreements, bringing the total outstanding interest rate swaps to &lt;span style="-sec-ix-hidden:c93263988"&gt;seven&lt;/span&gt;&#160;as of &lt;em style="font: inherit;"&gt; December 31, 2022.&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;In &lt;em style="font: inherit;"&gt; June 2022, &lt;/em&gt;in conjunction with the amendments to the Company's credit agreements discussed further in Note &lt;em style="font: inherit;"&gt;12,&lt;/em&gt; &#x201c;Credit Agreements,&#x201d; to the&#160;consolidated financial statements, the Company amended its interest rate swaps&#160;to match&#160;the underlying debt and reconfirmed hedge effectiveness. The Company formally documented all relationships between interest rate hedging instruments and the related hedged items, as well as its risk-management objectives and strategies for undertaking various hedge transactions. These interest rate swap agreements qualify as cash flow hedges and therefore, the effective portions of their gains or losses are reported as a component of accumulated other comprehensive loss (AOCL) in the&#160;consolidated balance sheets.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The amount of after-tax unrealized gains (losses) recognized for the years ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt; were $&lt;span style="color:#000000;"&gt;38,494,&lt;/span&gt; $20,529, and $(14,285), respectively. The cash flows of the swaps are recognized as adjustments to interest expense each period.&#160;The ineffective portions of the derivatives&#x2019; changes in fair value, if any, are immediately recognized in earnings.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;&lt;i&gt;Fair Value&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The following table presents the fair value of the Company&#x2019;s derivatives:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;b&gt;December 31,&lt;br/&gt; 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;b&gt;December 31,&lt;br/&gt; 2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Foreign currency contracts&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;94&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&lt;span style="-sec-ix-hidden:c93264001"&gt;(36)&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Interest rate swaps&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;49,279&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(2,074&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The fair values of the foreign currency contracts and&#160;interest rate swaps are included in&#160;prepaid expenses and other current assets&#160;and operating lease and other assets in the consolidated balance sheet as of &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;. The fair values of the foreign currency contracts and&#160;interest rate swaps are included in other accrued liabilities and other long-term liabilities&#160;in the consolidated balance sheet as of &lt;em style="font: inherit;"&gt; December 31, 2021&lt;/em&gt;. Excluding the impact of credit risk, the fair value of the derivative contracts as of&#160;&lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;is an asset of $51,184, which represents the net amount the Company would receive to exit all of the agreements on that&#160;date. Excluding the impact of credit risk, the fair value of the derivative contracts as of &lt;em style="font: inherit;"&gt; December 31, 2021, &lt;/em&gt;is a liability of $2,148,&#160;which represents the net amount the Company would pay to&#160;exit all of the agreements on that&#160;date.&lt;/p&gt;
  </us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock>
    <us-gaap:DerivativeNumberOfInstrumentsHeld
      contextRef="i_2022-12-31_DerivativeInstrumentRiskAxis-CommodityContractMember"
      decimals="-3"
      id="c93263964"
      unitRef="Pure">0</us-gaap:DerivativeNumberOfInstrumentsHeld>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="d_2022-01-01_2022-12-31_DerivativeInstrumentRiskAxis-CommodityContractMember_HedgingDesignationAxis-NondesignatedMember_IncomeStatementLocationAxis-CostOfSalesMember"
      decimals="-3"
      id="c93263967"
      unitRef="USD">29000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="d_2021-01-01_2021-12-31_DerivativeInstrumentRiskAxis-CommodityContractMember_HedgingDesignationAxis-NondesignatedMember_IncomeStatementLocationAxis-CostOfSalesMember"
      decimals="-3"
      id="c93263968"
      unitRef="USD">613000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="d_2020-01-01_2020-12-31_DerivativeInstrumentRiskAxis-CommodityContractMember_HedgingDesignationAxis-NondesignatedMember_IncomeStatementLocationAxis-CostOfSalesMember"
      decimals="-3"
      id="c93263969"
      unitRef="USD">2185000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93263979"
      unitRef="USD">579000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93263980"
      unitRef="USD">-416000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93263981"
      unitRef="USD">355000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2022-01-01_2022-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember"
      decimals="-3"
      id="c93263992"
      unitRef="USD">38494000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2021-01-01_2021-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember"
      decimals="-3"
      id="c93263993"
      unitRef="USD">20529000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="d_2020-01-01_2020-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember"
      decimals="-3"
      id="c93263994"
      unitRef="USD">-14285000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <gnrc:ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284670">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;b&gt;December 31,&lt;br/&gt; 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;b&gt;December 31,&lt;br/&gt; 2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Foreign currency contracts&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;94&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&lt;span style="-sec-ix-hidden:c93264001"&gt;(36)&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Interest rate swaps&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;49,279&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(2,074&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </gnrc:ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock>
    <us-gaap:DerivativeFairValueOfDerivativeNet
      contextRef="i_2022-12-31_DerivativeInstrumentRiskAxis-ForeignExchangeContractMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member"
      decimals="-3"
      id="c93264000"
      unitRef="USD">94000</us-gaap:DerivativeFairValueOfDerivativeNet>
    <us-gaap:DerivativeFairValueOfDerivativeNet
      contextRef="i_2022-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member"
      decimals="-3"
      id="c93264002"
      unitRef="USD">49279000</us-gaap:DerivativeFairValueOfDerivativeNet>
    <us-gaap:DerivativeFairValueOfDerivativeNet
      contextRef="i_2021-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member"
      decimals="-3"
      id="c93264003"
      unitRef="USD">-2074000</us-gaap:DerivativeFairValueOfDerivativeNet>
    <gnrc:DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93263995"
      unitRef="USD">51184000</gnrc:DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk>
    <gnrc:DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93263996"
      unitRef="USD">-2148000</gnrc:DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk>
    <us-gaap:ComprehensiveIncomeNoteTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284671">
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;6.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;Accumulated Other Comprehensive Loss&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The following presents a tabular disclosure of changes in AOCL&#160;during the years ended &lt;em style="font: inherit;"&gt; December 31, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021&lt;/em&gt;, net of tax:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Foreign Currency Translation Adjustments&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Unrealized Gain (Loss) on Cash Flow Hedges&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Total&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 55%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Beginning Balance &#x2013; January 1, 2022&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(52,704&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(2,051&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(54,755&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Other comprehensive income (loss) before reclassifications&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(48,841&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;em style="font: inherit;"&gt;(1)&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;38,494&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;em style="font: inherit;"&gt;(2)&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(10,347&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Amounts reclassified from AOCL&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Net current-period other comprehensive income (loss)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(48,841&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;38,494&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(10,347&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Ending Balance &#x2013; December 31, 2022&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(101,545&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;36,443&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(65,102&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Foreign Currency Translation Adjustments&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Unrealized Gain (Loss) on Cash Flow Hedges&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 55%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Beginning Balance &#x2013; January 1, 2021&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(11,674&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(22,580&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(34,254&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Other comprehensive income (loss) before reclassifications&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(41,030&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;(3)&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;20,529&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;(4)&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(20,501&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Amounts reclassified from AOCL&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Net current-period other comprehensive income (loss)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(41,030&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;20,529&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(20,501&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Ending Balance &#x2013; December 31, 2021&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(52,704&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(2,051&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(54,755&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt;(&lt;em style="font: inherit;"&gt;1&lt;/em&gt;)&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;Represents unfavorable impact from the strengthening of the U.S. dollar against foreign currencies during the year ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;particularly the Euro and British Pound.&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;(&lt;em style="font: inherit;"&gt;2&lt;/em&gt;)&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt;Represents unrealized gains of $51,352 on the interest rate swaps, net of tax effect of $(12,858) for the year ended &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt;(&lt;em style="font: inherit;"&gt;3&lt;/em&gt;)&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;Represents unfavorable impact from the strengthening of the U.S. dollar against foreign currencies during the year ended &lt;em style="font: inherit;"&gt; December 31, 2021, &lt;/em&gt;particularly the Euro and British Pound.&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;(&lt;em style="font: inherit;"&gt;4&lt;/em&gt;)&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;Represents unrealized gains of $27,462 on the interest rate swaps, net of tax effect of $(6,933)&#160;for the year ended &lt;em style="font: inherit;"&gt; December 31, 2021.&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="margin: 0; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt"&gt;&#160;&lt;/p&gt;


  </us-gaap:ComprehensiveIncomeNoteTextBlock>
    <us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock
      contextRef="d_2022-01-01_2022-12-31"
      id="A6418335-36E9-4B69-8E59-BEB390ADD39B">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Foreign Currency Translation Adjustments&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Unrealized Gain (Loss) on Cash Flow Hedges&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Total&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 55%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Beginning Balance &#x2013; January 1, 2022&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(52,704&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(2,051&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(54,755&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Other comprehensive income (loss) before reclassifications&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(48,841&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;em style="font: inherit;"&gt;(1)&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;38,494&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;em style="font: inherit;"&gt;(2)&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(10,347&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Amounts reclassified from AOCL&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Net current-period other comprehensive income (loss)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(48,841&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;38,494&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(10,347&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Ending Balance &#x2013; December 31, 2022&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(101,545&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;36,443&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(65,102&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Foreign Currency Translation Adjustments&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Unrealized Gain (Loss) on Cash Flow Hedges&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 55%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Beginning Balance &#x2013; January 1, 2021&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(11,674&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(22,580&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(34,254&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Other comprehensive income (loss) before reclassifications&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(41,030&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;(3)&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;20,529&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;(4)&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(20,501&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Amounts reclassified from AOCL&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Net current-period other comprehensive income (loss)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(41,030&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;20,529&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(20,501&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Ending Balance &#x2013; December 31, 2021&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(52,704&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(2,051&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(54,755&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember"
      decimals="-3"
      id="c93264020"
      unitRef="USD">-52704000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember"
      decimals="-3"
      id="c93264022"
      unitRef="USD">-2051000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93264024"
      unitRef="USD">-54755000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember"
      decimals="-3"
      id="c93264025"
      unitRef="USD">-48841000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember"
      decimals="-3"
      id="c93264027"
      unitRef="USD">38494000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93264029"
      unitRef="USD">-10347000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93264034"
      unitRef="USD">-0</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember"
      decimals="-3"
      id="c93264035"
      unitRef="USD">-48841000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember"
      decimals="-3"
      id="c93264037"
      unitRef="USD">38494000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93264039"
      unitRef="USD">-10347000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember"
      decimals="-3"
      id="c93264040"
      unitRef="USD">-101545000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember"
      decimals="-3"
      id="c93264042"
      unitRef="USD">36443000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2022-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93264044"
      unitRef="USD">-65102000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2020-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember"
      decimals="-3"
      id="c93264045"
      unitRef="USD">-11674000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2020-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember"
      decimals="-4"
      id="c93264047"
      unitRef="USD">-22580000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2020-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93264049"
      unitRef="USD">-34254000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember"
      decimals="-4"
      id="c93264050"
      unitRef="USD">-41030000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember"
      decimals="-3"
      id="c93264052"
      unitRef="USD">20529000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93264054"
      unitRef="USD">-20501000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember"
      decimals="-4"
      id="c93264060"
      unitRef="USD">-41030000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember"
      decimals="-3"
      id="c93264062"
      unitRef="USD">20529000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93264064"
      unitRef="USD">-20501000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember"
      decimals="-3"
      id="c93264065"
      unitRef="USD">-52704000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember"
      decimals="-3"
      id="c93264067"
      unitRef="USD">-2051000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2021-12-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="c93264069"
      unitRef="USD">-54755000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember"
      decimals="-3"
      id="c93264008"
      unitRef="USD">51352000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsTax
      contextRef="d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember"
      decimals="-3"
      id="c93264009"
      unitRef="USD">-12858000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember"
      decimals="-3"
      id="c93264012"
      unitRef="USD">27462000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsTax
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember"
      decimals="-3"
      id="c93264013"
      unitRef="USD">-6933000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsTax>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284674">
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;7.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;Segment Reporting&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company has &lt;span style="-sec-ix-hidden:c93264071"&gt;two&lt;/span&gt; reportable segments for financial reporting purposes &#x2013; Domestic and International. The Domestic segment includes the legacy Generac business&#160;(excluding its traditional Latin American export operations), and the acquisitions that are based in the U.S. and Canada, all of which have revenues&#160;substantially derived from the U.S. and Canada. The International segment includes the legacy Generac business' Latin American export operations, and the acquisitions &lt;em style="font: inherit;"&gt;not&lt;/em&gt; based in the U.S and Canada, all of which have revenues&#160;substantially derived from outside the U.S and Canada. Both reportable segments design and manufacture a wide range of&#160;energy technology solutions&#160;and other power products. The Company has multiple operating segments, which it aggregates into the &lt;em style="font: inherit;"&gt;two&lt;/em&gt; reportable segments, based on materially similar economic characteristics, products, production processes, classes of customers, distribution methods, organizational structure,&#160;and regional considerations.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company's product offerings consist primarily of power generation equipment, energy storage systems, energy management devices &amp;amp; solutions, and other power products geared for varying end customer uses. Residential products and C&amp;amp;I&#160;products are each a similar class of products based on similar power output and end customer. The breakout of net sales between residential, C&amp;amp;I, and other products &amp;amp; services by reportable segment is as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Net Sales by Segment&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31, 2022&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 49%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&lt;b&gt;Product Classes&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Domestic&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;International&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Total&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Residential products&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;2,782,037&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;129,834&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;2,911,871&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Commercial &amp;amp; industrial products&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;746,172&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;514,565&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1,260,737&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;339,657&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;52,472&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;392,129&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total net sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,867,866&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;696,871&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;4,564,737&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="margin: 0; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31, 2021&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 49%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&lt;b&gt;Product Classes&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Domestic&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;International&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Total&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Residential products&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2,366,908&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;89,857&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2,456,765&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Commercial &amp;amp; industrial products&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;556,520&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;442,478&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;998,998&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;240,622&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;40,799&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;281,421&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total net sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,164,050&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;573,134&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,737,184&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="margin: 0; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31, 2020&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 49%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&lt;b&gt;Product Classes&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Domestic&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;International&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Total&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Residential products&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,495,383&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;61,118&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,556,501&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Commercial &amp;amp; industrial products&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;404,867&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;296,884&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;701,751&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;188,558&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;38,390&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;226,948&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total net sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2,088,808&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;396,392&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2,485,200&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;Residential products consist primarily of automatic home standby generators ranging in output from &lt;em style="font: inherit;"&gt;7.5kW&lt;/em&gt; to &lt;em style="font: inherit;"&gt;150kW,&lt;/em&gt; portable generators, energy storage systems, energy management devices &amp;amp; solutions, and other outdoor power equipment. These products are predominantly sold through independent residential dealers, national and regional retailers, e-commerce merchants, electrical/HVAC/solar wholesalers, solar installers, and outdoor power equipment dealers. The residential products revenue consists of the sale of the product to our distribution partners, who&#160;in turn sell or rent the product to the end consumer, including installation and maintenance services. In some cases, residential products are sold direct to the end consumer. Substantially all of the residential products revenues are transferred to the customer at a point in time.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;C&amp;amp;I products consist of larger output stationary generators used in C&amp;amp;I applications, with power outputs up to &lt;em style="font: inherit;"&gt;3,250kW.&lt;/em&gt; Also included in C&amp;amp;I products are mobile generators, light towers, mobile energy storage systems, mobile heaters,&#160;mobile pumps, and related controllers for power generation equipment. These products are sold globally through industrial distributors and dealers, EPC companies, equipment rental companies, and equipment distributors. The C&amp;amp;I products revenue consists of the sale of the product to our distribution partners, who&#160;in turn sell or rent the product to the end customer, including installation and maintenance services. In some cases, C&amp;amp;I products are sold direct to the end customer. Substantially all of the C&amp;amp;I products revenues are transferred to the customer at a point in time.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Other&#160;consists primarily of aftermarket service parts and product accessories sold to our customers,&#160;the amortization of extended warranty deferred revenue,&#160;remote monitoring and grid services subscription revenue, as well as&#160;certain installation&#160;and maintenance service revenue. The aftermarket service parts and product accessories are generally transferred to the customer at a point in time, while the extended warranty and subscription revenue are&#160;recognized over the life of the contract. Other service revenue is recognized when the service is performed.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The following tables sets forth total sales by reportable segment and inclusive of intersegment sales:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Year Ended December 31, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Domestic&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;International&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Eliminations&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;External net sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,867,866&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;696,871&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4,564,737&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Intersegment sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;60,731&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;93,699&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(154,430&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Total sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,928,597&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;790,570&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(154,430&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;4,564,737&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Year Ended December 31, 2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Domestic&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;International&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Eliminations&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;External net sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,164,050&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;573,134&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,737,184&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Intersegment sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;39,339&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;26,123&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(65,462&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Total sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,203,389&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;599,257&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(65,462&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,737,184&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Year Ended December 31, 2020&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Domestic&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;International&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Eliminations&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;External net sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;2,088,808&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;396,392&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;2,485,200&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Intersegment sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;13,505&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,649&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(15,154&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Total sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2,102,313&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;398,041&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(15,154&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2,485,200&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Management evaluates the performance of its segments based primarily on Adjusted EBITDA, which is reconciled to Income before provision for income taxes below. The computation of Adjusted EBITDA is based primarily on the definition that is contained in the Company&#x2019;s credit agreements.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Adjusted EBITDA&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Domestic&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;716,302&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;795,417&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;563,394&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;International&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;109,065&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;66,008&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;20,379&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Total adjusted EBITDA&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;825,367&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;861,425&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;583,773&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Interest expense&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(54,826&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(32,953&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(32,991&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Depreciation and amortization&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(156,141&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(92,041&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(68,773&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Non-cash write-down and other adjustments (1)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;2,091&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;3,070&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;327&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Non-cash share-based compensation expense (2)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(29,481&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(23,954&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(20,882&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Loss on extinguishment of debt (3)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(3,743&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(831&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Transaction costs and credit facility fees (4)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(5,026&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(22,357&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(2,151&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Business optimization and other charges (5)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(4,371&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(33&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(12,158&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Provision for regulatory and clean energy product charges (6)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(65,265&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(139&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(800&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(954&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Income before provision for income taxes&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;508,466&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;691,526&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;446,191&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;(&lt;em style="font: inherit;"&gt;1&lt;/em&gt;)&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;Includes gains/losses on disposals&#160;of assets and sales&#160;of&#160;certain&#160;investments, unrealized mark-to-market adjustments on commodity contracts, certain foreign currency related adjustments, and certain purchase accounting and contingent consideration adjustments.&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;(&lt;em style="font: inherit;"&gt;2&lt;/em&gt;)&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;Represents share-based compensation expense to account for stock options, restricted stock and other stock awards over their respective vesting periods.&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;(&lt;em style="font: inherit;"&gt;3&lt;/em&gt;)&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt;Represents the non-cash write-off of original issue discount and deferred financing costs due primarily to a voluntary prepayment of debt.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;(&lt;em style="font: inherit;"&gt;4&lt;/em&gt;)&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt;Represents transaction costs incurred directly in connection with any investment, as defined in our credit agreement, equity issuance, debt issuance, or refinancing, together with certain fees relating to our senior secured credit facilities.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;(&lt;em style="font: inherit;"&gt;5&lt;/em&gt;)&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt;For the year ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;predominantly represents severance and other restructuring charges related to the suspension of operations at certain of our facilities. For the year ended &lt;em style="font: inherit;"&gt; December 31, 2020, &lt;/em&gt;represents severance, non-cash asset write-downs and other charges to address the impact of the COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; pandemic and decline in oil prices on demand for C&amp;amp;I products.&#160;These charges represent expenses that do &lt;em style="font: inherit;"&gt;not&lt;/em&gt; reflect ongoing operations.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;(&lt;em style="font: inherit;"&gt;6&lt;/em&gt;)&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="margin: 0pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;For the year ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;represents a specific credit loss provision of $17,926 for a clean energy product customer that filed for bankruptcy, as well as a warranty provision of $37,338 to address certain clean energy product warranty-related matters. The amount also includes&#160;a provision of $10,000&#160;for a pending and unresolved matter with the CPSC concerning the imposition of potential penalty fines for allegedly failing to timely submit a report under the CPSA in relation to certain portable generators that were subject to a voluntary recall previously announced on &lt;em style="font: inherit;"&gt; July 29, 2021.&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;The following tables summarize additional financial information by reportable segment:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Assets&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Domestic&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;4,032,086&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;3,742,101&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;2,659,597&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;International&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,137,376&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,135,679&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;575,826&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;5,169,462&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;4,877,780&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,235,423&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="margin: 0; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Depreciation and Amortization&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Domestic&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;123,768&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;66,675&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;53,020&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;International&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;32,373&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;25,366&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;15,753&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;156,141&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;92,041&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;68,773&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="margin: 0; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Capital Expenditures&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Domestic&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;69,680&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;100,672&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;51,867&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;International&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;16,508&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;9,320&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;10,261&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;86,188&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;109,992&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;62,128&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company&#x2019;s sales in the United States represent approximately 80%, 82%, and 82% of total sales for the years ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively. Approximately 77% and 75% of the Company&#x2019;s identifiable long-lived assets are located in the United States as of &lt;em style="font: inherit;"&gt; December 31, 2022&#160;&lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021,&lt;/em&gt; respectively.&lt;/p&gt;
  </us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="d_2022-01-01_2022-12-31"
      id="c2D641F70-840D-42A4-9F16-3DBCC000D5B3">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Net Sales by Segment&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31, 2022&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 49%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&lt;b&gt;Product Classes&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Domestic&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;International&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Total&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Residential products&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;2,782,037&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;129,834&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;2,911,871&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Commercial &amp;amp; industrial products&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;746,172&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;514,565&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1,260,737&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;339,657&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;52,472&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;392,129&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total net sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,867,866&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;696,871&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;4,564,737&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31, 2021&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 49%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&lt;b&gt;Product Classes&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Domestic&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;International&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Total&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Residential products&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2,366,908&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;89,857&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2,456,765&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Commercial &amp;amp; industrial products&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;556,520&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;442,478&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;998,998&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;240,622&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;40,799&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;281,421&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total net sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,164,050&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;573,134&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,737,184&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31, 2020&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 49%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&lt;b&gt;Product Classes&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Domestic&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;International&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Total&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Residential products&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,495,383&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;61,118&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,556,501&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Commercial &amp;amp; industrial products&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;404,867&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;296,884&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;701,751&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;188,558&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;38,390&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;226,948&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total net sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2,088,808&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;396,392&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2,485,200&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264111"
      unitRef="USD">2782037000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264112"
      unitRef="USD">129834000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember"
      decimals="-3"
      id="c93264113"
      unitRef="USD">2911871000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264114"
      unitRef="USD">746172000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264115"
      unitRef="USD">514565000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember"
      decimals="-3"
      id="c93264116"
      unitRef="USD">1260737000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264117"
      unitRef="USD">339657000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264118"
      unitRef="USD">52472000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember"
      decimals="-3"
      id="c93264119"
      unitRef="USD">392129000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264120"
      unitRef="USD">3867866000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264121"
      unitRef="USD">696871000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264122"
      unitRef="USD">4564737000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264129"
      unitRef="USD">2366908000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264130"
      unitRef="USD">89857000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember"
      decimals="-3"
      id="c93264131"
      unitRef="USD">2456765000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-4"
      id="c93264132"
      unitRef="USD">556520000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264133"
      unitRef="USD">442478000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember"
      decimals="-3"
      id="c93264134"
      unitRef="USD">998998000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264135"
      unitRef="USD">240622000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264136"
      unitRef="USD">40799000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember"
      decimals="-3"
      id="c93264137"
      unitRef="USD">281421000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-4"
      id="c93264138"
      unitRef="USD">3164050000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264139"
      unitRef="USD">573134000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264140"
      unitRef="USD">3737184000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264147"
      unitRef="USD">1495383000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264148"
      unitRef="USD">61118000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember"
      decimals="-3"
      id="c93264149"
      unitRef="USD">1556501000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264150"
      unitRef="USD">404867000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264151"
      unitRef="USD">296884000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-CommercialAndIndustrialPowerProductsMember"
      decimals="-3"
      id="c93264152"
      unitRef="USD">701751000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264153"
      unitRef="USD">188558000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-4"
      id="c93264154"
      unitRef="USD">38390000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-OtherProductsAndServicesMember"
      decimals="-3"
      id="c93264155"
      unitRef="USD">226948000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264156"
      unitRef="USD">2088808000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264157"
      unitRef="USD">396392000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-5"
      id="c93264158"
      unitRef="USD">2485200000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock
      contextRef="d_2022-01-01_2022-12-31"
      id="EFACB847-6301-4729-8C45-D934963963EC">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Year Ended December 31, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Domestic&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;International&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Eliminations&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;External net sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,867,866&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;696,871&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4,564,737&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Intersegment sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;60,731&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;93,699&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(154,430&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Total sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,928,597&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;790,570&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(154,430&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;4,564,737&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Year Ended December 31, 2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Domestic&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;International&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Eliminations&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;External net sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,164,050&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;573,134&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,737,184&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Intersegment sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;39,339&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;26,123&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(65,462&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Total sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,203,389&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;599,257&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(65,462&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,737,184&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Year Ended December 31, 2020&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Domestic&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;International&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Eliminations&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;External net sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;2,088,808&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;396,392&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;2,485,200&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Intersegment sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;13,505&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,649&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(15,154&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Total sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2,102,313&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;398,041&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(15,154&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;2,485,200&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264159"
      unitRef="USD">3867866000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264160"
      unitRef="USD">696871000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-ExternalNetSalesMember"
      decimals="-3"
      id="c93264161"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-ExternalNetSalesMember"
      decimals="-3"
      id="c93264162"
      unitRef="USD">4564737000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264163"
      unitRef="USD">60731000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264164"
      unitRef="USD">93699000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-IntersegmentSalesMember"
      decimals="-4"
      id="c93264165"
      unitRef="USD">-154430000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-IntersegmentSalesMember"
      decimals="-3"
      id="c93264166"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264167"
      unitRef="USD">3928597000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-4"
      id="c93264168"
      unitRef="USD">790570000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember"
      decimals="-4"
      id="c93264169"
      unitRef="USD">-154430000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264170"
      unitRef="USD">4564737000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-4"
      id="c93264171"
      unitRef="USD">3164050000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264172"
      unitRef="USD">573134000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-ExternalNetSalesMember"
      decimals="-3"
      id="c93264173"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-ExternalNetSalesMember"
      decimals="-3"
      id="c93264174"
      unitRef="USD">3737184000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264175"
      unitRef="USD">39339000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264176"
      unitRef="USD">26123000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-IntersegmentSalesMember"
      decimals="-3"
      id="c93264177"
      unitRef="USD">-65462000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_ProductOrServiceAxis-IntersegmentSalesMember"
      decimals="-3"
      id="c93264178"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264179"
      unitRef="USD">3203389000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264180"
      unitRef="USD">599257000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember"
      decimals="-3"
      id="c93264181"
      unitRef="USD">-65462000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264182"
      unitRef="USD">3737184000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264183"
      unitRef="USD">2088808000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-ExternalNetSalesMember_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264184"
      unitRef="USD">396392000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-ExternalNetSalesMember"
      decimals="-3"
      id="c93264185"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-ExternalNetSalesMember"
      decimals="-5"
      id="c93264186"
      unitRef="USD">2485200000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264187"
      unitRef="USD">13505000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_ProductOrServiceAxis-IntersegmentSalesMember_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264188"
      unitRef="USD">1649000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember_ProductOrServiceAxis-IntersegmentSalesMember"
      decimals="-3"
      id="c93264189"
      unitRef="USD">-15154000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_ProductOrServiceAxis-IntersegmentSalesMember"
      decimals="-3"
      id="c93264190"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264191"
      unitRef="USD">2102313000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264192"
      unitRef="USD">398041000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31_ConsolidationItemsAxis-IntersegmentEliminationMember"
      decimals="-3"
      id="c93264193"
      unitRef="USD">-15154000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-5"
      id="c93264194"
      unitRef="USD">2485200000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="d_2022-01-01_2022-12-31"
      id="F71ABD48-294C-4366-8838-17D0670F180E">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Adjusted EBITDA&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Domestic&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;716,302&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;795,417&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;563,394&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;International&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;109,065&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;66,008&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;20,379&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Total adjusted EBITDA&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;825,367&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;861,425&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;583,773&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Interest expense&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(54,826&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(32,953&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(32,991&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Depreciation and amortization&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(156,141&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(92,041&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(68,773&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Non-cash write-down and other adjustments (1)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;2,091&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;3,070&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;327&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Non-cash share-based compensation expense (2)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(29,481&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(23,954&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(20,882&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Loss on extinguishment of debt (3)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(3,743&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(831&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Transaction costs and credit facility fees (4)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(5,026&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(22,357&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(2,151&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Business optimization and other charges (5)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(4,371&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(33&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(12,158&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Provision for regulatory and clean energy product charges (6)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(65,265&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(139&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(800&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(954&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Income before provision for income taxes&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;508,466&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;691,526&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;446,191&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Assets&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Domestic&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;4,032,086&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;3,742,101&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;2,659,597&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;International&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,137,376&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,135,679&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;575,826&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;5,169,462&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;4,877,780&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;3,235,423&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Depreciation and Amortization&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Domestic&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;123,768&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;66,675&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;53,020&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;International&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;32,373&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;25,366&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;15,753&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;156,141&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;92,041&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;68,773&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Capital Expenditures&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Domestic&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;69,680&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;100,672&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;51,867&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;International&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;16,508&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;9,320&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;10,261&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;86,188&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;109,992&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;62,128&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <gnrc:AdjustedEBITDA
      contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264204"
      unitRef="USD">716302000</gnrc:AdjustedEBITDA>
    <gnrc:AdjustedEBITDA
      contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264205"
      unitRef="USD">795417000</gnrc:AdjustedEBITDA>
    <gnrc:AdjustedEBITDA
      contextRef="d_2020-01-01_2020-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264206"
      unitRef="USD">563394000</gnrc:AdjustedEBITDA>
    <gnrc:AdjustedEBITDA
      contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264207"
      unitRef="USD">109065000</gnrc:AdjustedEBITDA>
    <gnrc:AdjustedEBITDA
      contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264208"
      unitRef="USD">66008000</gnrc:AdjustedEBITDA>
    <gnrc:AdjustedEBITDA
      contextRef="d_2020-01-01_2020-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264209"
      unitRef="USD">20379000</gnrc:AdjustedEBITDA>
    <gnrc:AdjustedEBITDA
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264210"
      unitRef="USD">825367000</gnrc:AdjustedEBITDA>
    <gnrc:AdjustedEBITDA
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264211"
      unitRef="USD">861425000</gnrc:AdjustedEBITDA>
    <gnrc:AdjustedEBITDA
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264212"
      unitRef="USD">583773000</gnrc:AdjustedEBITDA>
    <us-gaap:InterestExpense
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264213"
      unitRef="USD">54826000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264214"
      unitRef="USD">32953000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264215"
      unitRef="USD">32991000</us-gaap:InterestExpense>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264216"
      unitRef="USD">156141000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264217"
      unitRef="USD">92041000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264218"
      unitRef="USD">68773000</us-gaap:DepreciationDepletionAndAmortization>
    <gnrc:NoncashWritedownAndOtherAdjustments
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264219"
      unitRef="USD">-2091000</gnrc:NoncashWritedownAndOtherAdjustments>
    <gnrc:NoncashWritedownAndOtherAdjustments
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-4"
      id="c93264220"
      unitRef="USD">-3070000</gnrc:NoncashWritedownAndOtherAdjustments>
    <gnrc:NoncashWritedownAndOtherAdjustments
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264221"
      unitRef="USD">-327000</gnrc:NoncashWritedownAndOtherAdjustments>
    <us-gaap:ShareBasedCompensation
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264222"
      unitRef="USD">29481000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264223"
      unitRef="USD">23954000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264224"
      unitRef="USD">20882000</us-gaap:ShareBasedCompensation>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264225"
      unitRef="USD">-3743000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264226"
      unitRef="USD">-831000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264227"
      unitRef="USD">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <gnrc:TransactionCostsAndCredityFaciltyFees
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264228"
      unitRef="USD">5026000</gnrc:TransactionCostsAndCredityFaciltyFees>
    <gnrc:TransactionCostsAndCredityFaciltyFees
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264229"
      unitRef="USD">22357000</gnrc:TransactionCostsAndCredityFaciltyFees>
    <gnrc:TransactionCostsAndCredityFaciltyFees
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264230"
      unitRef="USD">2151000</gnrc:TransactionCostsAndCredityFaciltyFees>
    <gnrc:BusinessOptimizationExpense
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264231"
      unitRef="USD">4371000</gnrc:BusinessOptimizationExpense>
    <gnrc:BusinessOptimizationExpense
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264232"
      unitRef="USD">33000</gnrc:BusinessOptimizationExpense>
    <gnrc:BusinessOptimizationExpense
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264233"
      unitRef="USD">12158000</gnrc:BusinessOptimizationExpense>
    <gnrc:ProvisionForProductCharges
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264234"
      unitRef="USD">-65265000</gnrc:ProvisionForProductCharges>
    <gnrc:ProvisionForProductCharges
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264235"
      unitRef="USD">0</gnrc:ProvisionForProductCharges>
    <gnrc:ProvisionForProductCharges
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264236"
      unitRef="USD">0</gnrc:ProvisionForProductCharges>
    <gnrc:Other
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264237"
      unitRef="USD">139000</gnrc:Other>
    <gnrc:Other
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-5"
      id="c93264238"
      unitRef="USD">800000</gnrc:Other>
    <gnrc:Other
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264239"
      unitRef="USD">954000</gnrc:Other>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264240"
      unitRef="USD">508466000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264241"
      unitRef="USD">691526000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264242"
      unitRef="USD">446191000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="d_2022-01-01_2022-12-31_ProductOrServiceAxis-CleanEnergyProductMember"
      decimals="-3"
      id="c93264086"
      unitRef="USD">17926000</us-gaap:ProvisionForDoubtfulAccounts>
    <gnrc:StandardProductWarrantyAccrualWarrantyProvision
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264087"
      unitRef="USD">37338000</gnrc:StandardProductWarrantyAccrualWarrantyProvision>
    <us-gaap:ProvisionForOtherLosses
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-7"
      id="c93264088"
      unitRef="USD">10000000</us-gaap:ProvisionForOtherLosses>
    <us-gaap:Assets
      contextRef="i_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264252"
      unitRef="USD">4032086000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264253"
      unitRef="USD">3742101000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i_2020-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264254"
      unitRef="USD">2659597000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264255"
      unitRef="USD">1137376000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264256"
      unitRef="USD">1135679000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i_2020-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264257"
      unitRef="USD">575826000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264258"
      unitRef="USD">5169462000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i_2021-12-31"
      decimals="-4"
      id="c93264259"
      unitRef="USD">4877780000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i_2020-12-31"
      decimals="-3"
      id="c93264260"
      unitRef="USD">3235423000</us-gaap:Assets>
    <gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation
      contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264270"
      unitRef="USD">123768000</gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation>
    <gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation
      contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264271"
      unitRef="USD">66675000</gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation>
    <gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation
      contextRef="d_2020-01-01_2020-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-4"
      id="c93264272"
      unitRef="USD">53020000</gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation>
    <gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation
      contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264273"
      unitRef="USD">32373000</gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation>
    <gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation
      contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264274"
      unitRef="USD">25366000</gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation>
    <gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation
      contextRef="d_2020-01-01_2020-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264275"
      unitRef="USD">15753000</gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation>
    <gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264276"
      unitRef="USD">156141000</gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation>
    <gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264277"
      unitRef="USD">92041000</gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation>
    <gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264278"
      unitRef="USD">68773000</gnrc:DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-4"
      id="c93264288"
      unitRef="USD">69680000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264289"
      unitRef="USD">100672000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2020-01-01_2020-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264290"
      unitRef="USD">51867000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264291"
      unitRef="USD">16508000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-4"
      id="c93264292"
      unitRef="USD">9320000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2020-01-01_2020-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264293"
      unitRef="USD">10261000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264294"
      unitRef="USD">86188000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264295"
      unitRef="USD">109992000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264296"
      unitRef="USD">62128000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-01-01_2022-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US"
      decimals="1"
      id="c93264090"
      unitRef="Pure">0.80</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US"
      decimals="2"
      id="c93264091"
      unitRef="Pure">0.82</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2020-01-01_2020-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US"
      decimals="2"
      id="c93264092"
      unitRef="Pure">0.82</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-01-01_2022-12-31_ConcentrationRiskByBenchmarkAxis-NetAssetsGeographicAreaMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US"
      decimals="2"
      id="c93264095"
      unitRef="Pure">0.77</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2021-01-01_2021-12-31_ConcentrationRiskByBenchmarkAxis-NetAssetsGeographicAreaMember_ConcentrationRiskByTypeAxis-GeographicConcentrationRiskMember_StatementGeographicalAxis-US"
      decimals="2"
      id="c93264096"
      unitRef="Pure">0.75</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:SupplementalBalanceSheetDisclosuresTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284685">
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;8.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;Balance Sheet Details&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Inventories consist of the following:&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;December 31,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Raw material&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;798,340&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;727,162&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Work-in-process&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;14,899&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;10,756&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Finished goods&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;592,145&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;351,787&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,405,384&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,089,705&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;As of &lt;em style="font: inherit;"&gt; December 31, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021&lt;/em&gt;, inventories totaling $17,914&#160;and $15,555, respectively, were on consignment at customer locations.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;Property and equipment consists of the following:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;December 31,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Land and improvements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;22,589&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;26,137&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Buildings and improvements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;243,553&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;244,273&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Machinery and equipment&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;229,593&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;186,611&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Dies and tools&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;37,343&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;31,581&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Vehicles&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;9,807&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;7,621&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Office equipment and systems&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;148,166&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;125,048&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Leasehold improvements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;6,849&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;5,679&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Construction in progress&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;52,522&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;47,601&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Gross property and equipment&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;750,422&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;674,551&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Accumulated depreciation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(282,818&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(233,699&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;467,604&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;440,852&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Total property and equipment included finance leases of $24,719&#160;and $36,776&#160;at &lt;em style="font: inherit;"&gt; December 31, 2022&#160;&lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021,&lt;/em&gt; respectively,&#160;primarily made up of buildings and improvements. Amortization of finance lease right of use assets&#160;is recorded within depreciation expense in the consolidated statements of comprehensive income. The initial measurement of new finance lease right of use assets&#160;is accounted for as a non-cash item in the consolidated statement of cash flows. Refer to Note &lt;em style="font: inherit;"&gt;10,&lt;/em&gt; &#x201c;Leases,&#x201d; for further information regarding the Company&#x2019;s accounting for leases under ASC &lt;em style="font: inherit;"&gt;842,&lt;/em&gt; &lt;i&gt;Leases.&lt;/i&gt;&lt;/p&gt;
  </us-gaap:SupplementalBalanceSheetDisclosuresTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284686">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;December 31,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Raw material&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;798,340&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;727,162&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Work-in-process&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;14,899&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;10,756&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Finished goods&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;592,145&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;351,787&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,405,384&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,089,705&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c93264311"
      unitRef="USD">798340000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264312"
      unitRef="USD">727162000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264313"
      unitRef="USD">14899000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264314"
      unitRef="USD">10756000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264315"
      unitRef="USD">592145000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264316"
      unitRef="USD">351787000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264317"
      unitRef="USD">1405384000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264318"
      unitRef="USD">1089705000</us-gaap:InventoryNet>
    <us-gaap:OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264300"
      unitRef="USD">17914000</us-gaap:OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment>
    <us-gaap:OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264301"
      unitRef="USD">15555000</us-gaap:OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284687">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;December 31,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Land and improvements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;22,589&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;26,137&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Buildings and improvements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;243,553&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;244,273&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Machinery and equipment&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;229,593&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;186,611&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Dies and tools&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;37,343&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;31,581&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Vehicles&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;9,807&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;7,621&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Office equipment and systems&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;148,166&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;125,048&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Leasehold improvements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;6,849&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;5,679&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Construction in progress&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;52,522&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;47,601&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Gross property and equipment&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;750,422&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;674,551&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Accumulated depreciation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(282,818&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(233,699&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;467,604&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;440,852&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandAndLandImprovementsMember"
      decimals="-3"
      id="c93264323"
      unitRef="USD">22589000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-LandAndLandImprovementsMember"
      decimals="-3"
      id="c93264324"
      unitRef="USD">26137000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember"
      decimals="-3"
      id="c93264325"
      unitRef="USD">243553000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember"
      decimals="-3"
      id="c93264326"
      unitRef="USD">244273000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember"
      decimals="-3"
      id="c93264327"
      unitRef="USD">229593000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember"
      decimals="-3"
      id="c93264328"
      unitRef="USD">186611000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-DiesAndToolsMember"
      decimals="-3"
      id="c93264329"
      unitRef="USD">37343000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-DiesAndToolsMember"
      decimals="-3"
      id="c93264330"
      unitRef="USD">31581000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember"
      decimals="-3"
      id="c93264331"
      unitRef="USD">9807000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-VehiclesMember"
      decimals="-3"
      id="c93264332"
      unitRef="USD">7621000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-OfficeEquipmentMember"
      decimals="-3"
      id="c93264333"
      unitRef="USD">148166000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-OfficeEquipmentMember"
      decimals="-3"
      id="c93264334"
      unitRef="USD">125048000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember"
      decimals="-3"
      id="c93264335"
      unitRef="USD">6849000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember"
      decimals="-3"
      id="c93264336"
      unitRef="USD">5679000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember"
      decimals="-3"
      id="c93264337"
      unitRef="USD">52522000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2021-12-31_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember"
      decimals="-3"
      id="c93264338"
      unitRef="USD">47601000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264339"
      unitRef="USD">750422000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264340"
      unitRef="USD">674551000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264341"
      unitRef="USD">282818000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264342"
      unitRef="USD">233699000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264343"
      unitRef="USD">467604000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264344"
      unitRef="USD">440852000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264302"
      unitRef="USD">24719000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264303"
      unitRef="USD">36776000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284688">
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;9.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;Goodwill and Intangible Assets&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The changes in the carrying amount of goodwill by reportable segment for the years ended &lt;em style="font: inherit;"&gt; December 31, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; are as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Domestic&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;International&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Total&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Balance at December 31, 2020&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;702,535&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;152,693&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;855,228&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Acquisitions of businesses, net&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;293,614&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;284,447&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;578,061&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Foreign currency translation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(705&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(22,910&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(23,615&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Balance at December 31, 2021&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;995,444&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;414,230&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,409,674&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Acquisitions of businesses, net&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;22,128&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;437&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;22,565&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Foreign currency translation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(915&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(30,444&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(31,359&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Balance at December 31, 2022&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,016,657&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;384,223&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,400,880&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Refer to Note &lt;em style="font: inherit;"&gt;3,&lt;/em&gt; &#x201c;Acquisitions,&#x201d; to the consolidated financial statements for further information regarding the Company&#x2019;s acquisitions.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The details of the gross goodwill applicable to each reportable segment at &lt;em style="font: inherit;"&gt; December 31, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; are as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;December 31, 2022&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;December 31, 2021&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;em style="font: inherit;"&gt;Gross&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;em style="font: inherit;"&gt;Accumulated Impairment&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;em style="font: inherit;"&gt;Net&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;em style="font: inherit;"&gt;Gross&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;em style="font: inherit;"&gt;Accumulated Impairment&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;em style="font: inherit;"&gt;Net&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Domestic&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1,519,850&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(503,193&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1,016,657&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1,498,637&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(503,193&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;995,444&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;International&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;388,834&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(4,611&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;384,223&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;418,841&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(4,611&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;414,230&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,908,684&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(507,804&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,400,880&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,917,478&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(507,804&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,409,674&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The following table summarizes intangible assets by major category as of &lt;em style="font: inherit;"&gt; December 31, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021&lt;/em&gt;:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31, 2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;Weighted Average Amortization Years&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;Gross&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;Accumulated Amortization&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;Net Book Value&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;Gross&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;Accumulated Amortization&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;Net Book Value&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 30%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Finite-lived intangible assets:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin: 0px; padding: 0px;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Tradenames&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;14&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;157,751&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(58,821&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;98,930&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;162,563&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(47,353&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;115,210&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin: 0px; padding: 0px;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Customer lists&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;11&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;577,203&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(370,216&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;206,987&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;573,910&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(335,188&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;238,722&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin: 0px; padding: 0px;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Patents and technology&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;14&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;665,563&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(210,806&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;454,757&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;662,341&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(169,868&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;492,473&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin: 0px; padding: 0px;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Software&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,046&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(1,046&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,046&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(1,046&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin: 0px; padding: 0px;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Non-compete/other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;5&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;70,585&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(28,866&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;41,719&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;79,416&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(12,980&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;66,436&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin: 0px; padding: 0px;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;"&gt;Total finite-lived intangible assets&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,472,148&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(669,755&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;802,393&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,479,276&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(566,435&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;912,841&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin: 0px; padding: 0px;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Indefinite-lived tradenames&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;128,321&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;128,321&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;128,321&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;128,321&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total intangible assets&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,600,469&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(669,755&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;930,714&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,607,597&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(566,435&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,041,162&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Amortization expense of intangible assets was $103,320, $49,886, and $32,280&#160;in &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively. Excluding the impact of any future acquisitions, the Company estimates amortization expense for the next &lt;em style="font: inherit;"&gt;five&lt;/em&gt; years will be as follows: &lt;em style="font: inherit;"&gt;2023&lt;/em&gt;&#160;-&#160;&lt;span style="-sec-ix-hidden:c93264359"&gt;$99,512;&lt;/span&gt; &lt;em style="font: inherit;"&gt;2024&lt;/em&gt;&#160;- &lt;span style="-sec-ix-hidden:c93264361"&gt;$94,070;&lt;/span&gt; &lt;em style="font: inherit;"&gt;2025&lt;/em&gt;&#160;- &lt;span style="-sec-ix-hidden:c93264363"&gt;$89,561;&lt;/span&gt; &lt;em style="font: inherit;"&gt;2026&lt;/em&gt;&#160;- &lt;span style="-sec-ix-hidden:c93264365"&gt;$82,392;&lt;/span&gt; &lt;em style="font: inherit;"&gt;2027&lt;/em&gt;&#160;- $56,162.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
  </us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="d_2022-01-01_2022-12-31"
      id="c3985E9CA-BC2C-4AE0-873D-EA608E027AAF">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Domestic&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;International&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Total&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Balance at December 31, 2020&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;702,535&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;152,693&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;855,228&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Acquisitions of businesses, net&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;293,614&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;284,447&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;578,061&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Foreign currency translation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(705&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(22,910&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(23,615&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Balance at December 31, 2021&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;995,444&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;414,230&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,409,674&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Acquisitions of businesses, net&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;22,128&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;437&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;22,565&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Foreign currency translation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(915&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(30,444&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(31,359&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Balance at December 31, 2022&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,016,657&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;384,223&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,400,880&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;December 31, 2022&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;December 31, 2021&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;em style="font: inherit;"&gt;Gross&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;em style="font: inherit;"&gt;Accumulated Impairment&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;em style="font: inherit;"&gt;Net&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;em style="font: inherit;"&gt;Gross&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;em style="font: inherit;"&gt;Accumulated Impairment&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;em style="font: inherit;"&gt;Net&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Domestic&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1,519,850&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(503,193&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1,016,657&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1,498,637&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(503,193&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;995,444&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;International&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;388,834&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(4,611&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;384,223&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;418,841&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(4,611&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;414,230&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,908,684&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(507,804&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,400,880&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,917,478&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(507,804&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,409,674&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="i_2020-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264371"
      unitRef="USD">702535000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i_2020-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264372"
      unitRef="USD">152693000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i_2020-12-31"
      decimals="-3"
      id="c93264373"
      unitRef="USD">855228000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264374"
      unitRef="USD">293614000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264375"
      unitRef="USD">284447000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264376"
      unitRef="USD">578061000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264377"
      unitRef="USD">-705000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="d_2021-01-01_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-4"
      id="c93264378"
      unitRef="USD">-22910000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264379"
      unitRef="USD">-23615000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="i_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264380"
      unitRef="USD">995444000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-4"
      id="c93264381"
      unitRef="USD">414230000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264382"
      unitRef="USD">1409674000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264383"
      unitRef="USD">22128000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264384"
      unitRef="USD">437000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264385"
      unitRef="USD">22565000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264386"
      unitRef="USD">-915000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="d_2022-01-01_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264387"
      unitRef="USD">-30444000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264388"
      unitRef="USD">-31359000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="i_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264389"
      unitRef="USD">1016657000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264390"
      unitRef="USD">384223000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c93264391"
      unitRef="USD">1400880000</us-gaap:Goodwill>
    <us-gaap:GoodwillGross
      contextRef="i_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-4"
      id="c93264404"
      unitRef="USD">1519850000</us-gaap:GoodwillGross>
    <us-gaap:GoodwillImpairedAccumulatedImpairmentLoss
      contextRef="i_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264405"
      unitRef="USD">503193000</us-gaap:GoodwillImpairedAccumulatedImpairmentLoss>
    <us-gaap:Goodwill
      contextRef="i_2022-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264406"
      unitRef="USD">1016657000</us-gaap:Goodwill>
    <us-gaap:GoodwillGross
      contextRef="i_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264407"
      unitRef="USD">1498637000</us-gaap:GoodwillGross>
    <us-gaap:GoodwillImpairedAccumulatedImpairmentLoss
      contextRef="i_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264408"
      unitRef="USD">503193000</us-gaap:GoodwillImpairedAccumulatedImpairmentLoss>
    <us-gaap:Goodwill
      contextRef="i_2021-12-31_StatementBusinessSegmentsAxis-DomesticMember"
      decimals="-3"
      id="c93264409"
      unitRef="USD">995444000</us-gaap:Goodwill>
    <us-gaap:GoodwillGross
      contextRef="i_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264410"
      unitRef="USD">388834000</us-gaap:GoodwillGross>
    <us-gaap:GoodwillImpairedAccumulatedImpairmentLoss
      contextRef="i_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264411"
      unitRef="USD">4611000</us-gaap:GoodwillImpairedAccumulatedImpairmentLoss>
    <us-gaap:Goodwill
      contextRef="i_2022-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264412"
      unitRef="USD">384223000</us-gaap:Goodwill>
    <us-gaap:GoodwillGross
      contextRef="i_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264413"
      unitRef="USD">418841000</us-gaap:GoodwillGross>
    <us-gaap:GoodwillImpairedAccumulatedImpairmentLoss
      contextRef="i_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-3"
      id="c93264414"
      unitRef="USD">4611000</us-gaap:GoodwillImpairedAccumulatedImpairmentLoss>
    <us-gaap:Goodwill
      contextRef="i_2021-12-31_StatementBusinessSegmentsAxis-InternationalMember"
      decimals="-4"
      id="c93264415"
      unitRef="USD">414230000</us-gaap:Goodwill>
    <us-gaap:GoodwillGross
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264416"
      unitRef="USD">1908684000</us-gaap:GoodwillGross>
    <us-gaap:GoodwillImpairedAccumulatedImpairmentLoss
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264417"
      unitRef="USD">507804000</us-gaap:GoodwillImpairedAccumulatedImpairmentLoss>
    <us-gaap:Goodwill
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c93264418"
      unitRef="USD">1400880000</us-gaap:Goodwill>
    <us-gaap:GoodwillGross
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264419"
      unitRef="USD">1917478000</us-gaap:GoodwillGross>
    <us-gaap:GoodwillImpairedAccumulatedImpairmentLoss
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264420"
      unitRef="USD">507804000</us-gaap:GoodwillImpairedAccumulatedImpairmentLoss>
    <us-gaap:Goodwill
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264421"
      unitRef="USD">1409674000</us-gaap:Goodwill>
    <gnrc:ScheduleOfIntangibleAssetsTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284691">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31, 2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;Weighted Average Amortization Years&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;Gross&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;Accumulated Amortization&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;Net Book Value&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;Gross&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;Accumulated Amortization&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;Net Book Value&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 30%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Finite-lived intangible assets:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin: 0px; padding: 0px;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Tradenames&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"&gt;14&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;157,751&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(58,821&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;98,930&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;162,563&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(47,353&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;115,210&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin: 0px; padding: 0px;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Customer lists&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;11&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;577,203&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(370,216&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;206,987&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;573,910&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(335,188&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;238,722&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin: 0px; padding: 0px;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Patents and technology&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;14&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;665,563&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(210,806&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;454,757&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;662,341&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(169,868&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;492,473&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin: 0px; padding: 0px;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Software&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,046&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(1,046&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,046&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(1,046&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin: 0px; padding: 0px;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Non-compete/other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;5&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;70,585&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(28,866&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;41,719&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;79,416&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(12,980&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;66,436&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin: 0px; padding: 0px;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;"&gt;Total finite-lived intangible assets&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,472,148&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(669,755&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;802,393&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,479,276&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;(566,435&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;912,841&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin: 0px; padding: 0px;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Indefinite-lived tradenames&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;128,321&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;128,321&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;128,321&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;em style="font: inherit;"&gt;-&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;128,321&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total intangible assets&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,600,469&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(669,755&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;930,714&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,607,597&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(566,435&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 7%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,041,162&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </gnrc:ScheduleOfIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2022-01-01_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      id="c93264425">P14Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      decimals="-3"
      id="c93264427"
      unitRef="USD">157751000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      decimals="-3"
      id="c93264429"
      unitRef="USD">58821000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      decimals="-4"
      id="c93264431"
      unitRef="USD">98930000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      decimals="-3"
      id="c93264433"
      unitRef="USD">162563000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      decimals="-3"
      id="c93264435"
      unitRef="USD">47353000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember"
      decimals="-4"
      id="c93264437"
      unitRef="USD">115210000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2022-01-01_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember"
      id="c93264439">P11Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember"
      decimals="-3"
      id="c93264441"
      unitRef="USD">577203000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember"
      decimals="-3"
      id="c93264443"
      unitRef="USD">370216000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember"
      decimals="-3"
      id="c93264445"
      unitRef="USD">206987000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember"
      decimals="-4"
      id="c93264447"
      unitRef="USD">573910000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember"
      decimals="-3"
      id="c93264449"
      unitRef="USD">335188000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember"
      decimals="-3"
      id="c93264450"
      unitRef="USD">238722000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2022-01-01_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsAndTechnologyMember"
      id="c93264451">P14Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsAndTechnologyMember"
      decimals="-3"
      id="c93264452"
      unitRef="USD">665563000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsAndTechnologyMember"
      decimals="-3"
      id="c93264453"
      unitRef="USD">210806000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsAndTechnologyMember"
      decimals="-3"
      id="c93264454"
      unitRef="USD">454757000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsAndTechnologyMember"
      decimals="-3"
      id="c93264455"
      unitRef="USD">662341000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsAndTechnologyMember"
      decimals="-3"
      id="c93264456"
      unitRef="USD">169868000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-PatentsAndTechnologyMember"
      decimals="-3"
      id="c93264457"
      unitRef="USD">492473000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ComputerSoftwareIntangibleAssetMember"
      decimals="-3"
      id="c93264459"
      unitRef="USD">1046000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ComputerSoftwareIntangibleAssetMember"
      decimals="-3"
      id="c93264460"
      unitRef="USD">1046000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ComputerSoftwareIntangibleAssetMember"
      decimals="-3"
      id="c93264461"
      unitRef="USD">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ComputerSoftwareIntangibleAssetMember"
      decimals="-3"
      id="c93264462"
      unitRef="USD">1046000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ComputerSoftwareIntangibleAssetMember"
      decimals="-3"
      id="c93264463"
      unitRef="USD">1046000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ComputerSoftwareIntangibleAssetMember"
      decimals="-3"
      id="c93264464"
      unitRef="USD">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="d_2022-01-01_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      id="c93264465">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      decimals="-3"
      id="c93264466"
      unitRef="USD">70585000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      decimals="-3"
      id="c93264467"
      unitRef="USD">28866000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      decimals="-3"
      id="c93264468"
      unitRef="USD">41719000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      decimals="-3"
      id="c93264469"
      unitRef="USD">79416000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      decimals="-4"
      id="c93264470"
      unitRef="USD">12980000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2021-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember"
      decimals="-3"
      id="c93264471"
      unitRef="USD">66436000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264473"
      unitRef="USD">1472148000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264474"
      unitRef="USD">669755000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264475"
      unitRef="USD">802393000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264476"
      unitRef="USD">1479276000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264477"
      unitRef="USD">566435000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264478"
      unitRef="USD">912841000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:IndefiniteLivedTradeNames
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264480"
      unitRef="USD">128321000</us-gaap:IndefiniteLivedTradeNames>
    <us-gaap:IndefiniteLivedTradeNames
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264482"
      unitRef="USD">128321000</us-gaap:IndefiniteLivedTradeNames>
    <us-gaap:IndefiniteLivedTradeNames
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264483"
      unitRef="USD">128321000</us-gaap:IndefiniteLivedTradeNames>
    <us-gaap:IndefiniteLivedTradeNames
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264485"
      unitRef="USD">128321000</us-gaap:IndefiniteLivedTradeNames>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264487"
      unitRef="USD">1600469000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264488"
      unitRef="USD">669755000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264489"
      unitRef="USD">930714000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264490"
      unitRef="USD">1607597000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264491"
      unitRef="USD">566435000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264492"
      unitRef="USD">1041162000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-4"
      id="c93264351"
      unitRef="USD">103320000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264352"
      unitRef="USD">49886000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-4"
      id="c93264353"
      unitRef="USD">32280000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264367"
      unitRef="USD">56162000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <gnrc:LesseeOperatingLeasesAndFinanceLeasesTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284692">
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;10.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;Leases&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company leases certain manufacturing facilities, distribution centers, office space, warehouses, automobiles, machinery and computer equipment globally under both finance and operating leases. The Company&#x2019;s leases have remaining lease terms of up to 20 years, of which certain leases, primarily within the buildings and improvements asset class, include options to extend the leases for up to 10 additional years. Further, the Company leases certain buildings from a noncontrolling interest holder, which the Company has determined to be arm's&#160;length transactions.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company determines if an arrangement is or contains a lease at contract inception. The Company recognizes a right of use (&#x201c;ROU&#x201d;) asset and lease liability at the lease commencement date based on the present value of the lease payments over the lease term. As the Company&#x2019;s leases generally do &lt;em style="font: inherit;"&gt;not&lt;/em&gt; provide an implicit rate, the incremental borrowing rate is used to determine the present value of lease payments. The incremental borrowing rate is a collateralized rate determined based on the lease term, the Company&#x2019;s credit rating, and other market information available at the commencement date. The ROU asset also includes any lease payments made prior to the commencement date and is reduced by any lease incentives. The lease term &lt;em style="font: inherit;"&gt; may &lt;/em&gt;include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. Lease expense for operating leases is recognized on a straight-line basis over the lease term, while lease expense for finance leases is recognized as depreciation and interest expense using the effective interest method. The Company&#x2019;s variable lease expense generally consists of property tax and insurance payments that are variable in nature, however, these amounts are immaterial to the consolidated financial statements and are therefore &lt;em style="font: inherit;"&gt;not&lt;/em&gt; separately reported.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company has lease agreements with both lease and nonlease components, which it elected to account for as a single lease component. However, the Company did &lt;em style="font: inherit;"&gt;not&lt;/em&gt; elect to apply the recognition exception for short-term leases. The Company is applying these elections to all asset classes.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company&#160;is a lessor of certain of its C&amp;amp;I mobile&#160;products as part of a rental fleet, as well as &lt;em style="font: inherit;"&gt;two&lt;/em&gt; of its&#160;buildings that it leases to&#160;&lt;em style="font: inherit;"&gt;third&lt;/em&gt; parties. The lease income related to these&#160;arrangements is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; material to the consolidated financial statements.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company records its operating lease cost and amortization of finance lease ROU assets within cost of goods sold or operating expenses in the consolidated statements of comprehensive income depending on the cost center of the underlying asset. The Company records its finance lease interest cost within interest expense in the consolidated statements of comprehensive income.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;The components of total lease cost consist of the following:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Year Ended December 31, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Year Ended December 31, 2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Year Ended December 31, 2020&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 43%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Operating lease cost&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;36,292&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;22,432&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;18,648&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Finance lease cost:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Amortization of ROU assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,298&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,187&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;2,587&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Interest on lease liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,945&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,021&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,237&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;"&gt;Total lease cost&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;41,535&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;27,640&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;23,472&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;Supplemental balance sheet information related to the Company&#x2019;s leases is as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31, 2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 62%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Operating Leases&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Operating lease ROU assets (1)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;100,083&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;101,266&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Operating lease liabilities - current (2)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;30,330&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;23,549&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Operating lease liabilities - noncurrent (3)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;73,547&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;80,370&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;"&gt;Total operating lease liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;103,877&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;103,919&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Finance Leases&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Finance lease ROU assets, gross&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;35,470&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;47,119&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Accumulated depreciation - finance lease ROU assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(10,751&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(10,343&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;"&gt;Finance lease ROU assets, net (4)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;24,719&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;36,776&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Finance lease liabilities - current (5)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;2,650&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4,209&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Finance lease liabilities - noncurrent (6)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;24,770&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;34,966&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;"&gt;Total finance lease liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;27,420&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;39,175&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;(&lt;em style="font: inherit;"&gt;1&lt;/em&gt;)&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;Recorded in the operating lease and other assets line within the consolidated balance sheets&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;(&lt;em style="font: inherit;"&gt;2&lt;/em&gt;)&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;Recorded in the other accrued liabilities line within the consolidated balance sheets&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;(&lt;em style="font: inherit;"&gt;3&lt;/em&gt;)&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;Recorded in the operating lease and other long-term liabilities line within the consolidated balance sheets&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;(&lt;em style="font: inherit;"&gt;4&lt;/em&gt;)&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;Recorded in the property and equipment, net line within the consolidated balance sheets&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;(&lt;em style="font: inherit;"&gt;5&lt;/em&gt;)&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;Recorded in the current portion of long-term borrowings and finance lease obligations line within the consolidated balance sheets&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;(&lt;em style="font: inherit;"&gt;6&lt;/em&gt;)&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;Recorded in the long-term borrowings and finance lease obligations line within the consolidated balance sheets&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;Supplemental cash flow information related to the Company&#x2019;s leases is as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Year Ended December 31, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Year Ended December 31, 2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Year Ended December 31, 2020&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Cash paid for amounts included in the measurement of lease liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Operating cash flows from operating leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;36,020&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;21,250&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;18,412&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Operating cash flows from finance leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,919&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,972&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,871&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Financing cash flows from finance leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4,931&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4,679&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,957&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;ROU assets obtained in exchange for lease liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Operating leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;28,766&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;55,057&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;41,678&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Finance leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;2,874&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4,026&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,737&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;Weighted average remaining lease term and discount rate information related to the Company&#x2019;s leases as of &lt;em style="font: inherit;"&gt; December 31, 2022&#160;&lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&#160;is as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31, 2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Weighted average remaining lease term (in years)&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Operating Leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4.65&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;5.21&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Finance Leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;11.26&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;11.94&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Weighted average discount rate&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Operating Leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4.82&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3.58&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Finance Leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;7.58&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;7.43&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;The maturities of the Company&#x2019;s lease liabilities as of &lt;em style="font: inherit;"&gt; December 31, 2022&#160;&lt;/em&gt;are as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Finance Leases&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Operating Leases&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;4,487&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;34,208&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;2024&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;4,223&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;30,834&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;2025&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;3,639&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;20,386&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;2026&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;3,137&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;9,855&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;2027&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;2,929&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;8,334&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;After 2027&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;24,405&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;14,743&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total minimum lease payments&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;42,820&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;118,360&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Interest component&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(15,400&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(14,483&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Present value of minimum lease payments&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;27,420&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;103,877&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
  </gnrc:LesseeOperatingLeasesAndFinanceLeasesTextBlock>
    <gnrc:LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract contextRef="d_2022-01-01_2022-12-31" id="c93264494">P20Y</gnrc:LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract>
    <us-gaap:LesseeOperatingLeaseRenewalTerm contextRef="i_2022-12-31" id="c93264495">P10Y</us-gaap:LesseeOperatingLeaseRenewalTerm>
    <us-gaap:LeaseCostTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284693">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Year Ended December 31, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Year Ended December 31, 2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Year Ended December 31, 2020&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 43%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Operating lease cost&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;36,292&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;22,432&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;18,648&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Finance lease cost:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Amortization of ROU assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,298&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,187&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;2,587&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Interest on lease liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,945&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,021&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,237&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;"&gt;Total lease cost&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;41,535&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;27,640&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;23,472&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264514"
      unitRef="USD">36292000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264516"
      unitRef="USD">22432000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264518"
      unitRef="USD">18648000</us-gaap:OperatingLeaseCost>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264520"
      unitRef="USD">3298000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264521"
      unitRef="USD">3187000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264522"
      unitRef="USD">2587000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264523"
      unitRef="USD">1945000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264524"
      unitRef="USD">2021000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264525"
      unitRef="USD">2237000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:LeaseCost
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264526"
      unitRef="USD">41535000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-4"
      id="c93264527"
      unitRef="USD">27640000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264528"
      unitRef="USD">23472000</us-gaap:LeaseCost>
    <gnrc:ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284694">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31, 2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 62%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Operating Leases&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Operating lease ROU assets (1)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;100,083&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;101,266&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Operating lease liabilities - current (2)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;30,330&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;23,549&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Operating lease liabilities - noncurrent (3)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;73,547&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;80,370&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;"&gt;Total operating lease liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;103,877&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;103,919&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Finance Leases&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Finance lease ROU assets, gross&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;35,470&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;47,119&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Accumulated depreciation - finance lease ROU assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(10,751&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(10,343&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;"&gt;Finance lease ROU assets, net (4)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;24,719&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;36,776&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Finance lease liabilities - current (5)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;2,650&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4,209&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Finance lease liabilities - noncurrent (6)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;24,770&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;34,966&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;"&gt;Total finance lease liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;27,420&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;39,175&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </gnrc:ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i_2022-12-31_BalanceSheetLocationAxis-OperatingLeaseAndOtherAssetsMember"
      decimals="-3"
      id="c93264532"
      unitRef="USD">100083000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i_2021-12-31_BalanceSheetLocationAxis-OperatingLeaseAndOtherAssetsMember"
      decimals="-3"
      id="c93264533"
      unitRef="USD">101266000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i_2022-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesMember"
      decimals="-4"
      id="c93264534"
      unitRef="USD">30330000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i_2021-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesMember"
      decimals="-3"
      id="c93264535"
      unitRef="USD">23549000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i_2022-12-31_BalanceSheetLocationAxis-OperatingLeaseAndOtherLongtermLiabilitiesMember"
      decimals="-3"
      id="c93264536"
      unitRef="USD">73547000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i_2021-12-31_BalanceSheetLocationAxis-OperatingLeaseAndOtherLongtermLiabilitiesMember"
      decimals="-4"
      id="c93264537"
      unitRef="USD">80370000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="i_2022-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember"
      decimals="-3"
      id="c93264538"
      unitRef="USD">103877000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="i_2021-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember"
      decimals="-3"
      id="c93264539"
      unitRef="USD">103919000</us-gaap:OperatingLeaseLiability>
    <gnrc:FinanceLeaseRightOfUseAssetGross
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c93264541"
      unitRef="USD">35470000</gnrc:FinanceLeaseRightOfUseAssetGross>
    <gnrc:FinanceLeaseRightOfUseAssetGross
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264542"
      unitRef="USD">47119000</gnrc:FinanceLeaseRightOfUseAssetGross>
    <gnrc:FinanceLeaseRightOfUseAssetAccumulatedDepreciation
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264543"
      unitRef="USD">10751000</gnrc:FinanceLeaseRightOfUseAssetAccumulatedDepreciation>
    <gnrc:FinanceLeaseRightOfUseAssetAccumulatedDepreciation
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264544"
      unitRef="USD">10343000</gnrc:FinanceLeaseRightOfUseAssetAccumulatedDepreciation>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i_2022-12-31_BalanceSheetLocationAxis-FinanceLeaseAndOtherAssetsMember"
      decimals="-3"
      id="c93264545"
      unitRef="USD">24719000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i_2021-12-31_BalanceSheetLocationAxis-FinanceLeaseAndOtherAssetsMember"
      decimals="-3"
      id="c93264546"
      unitRef="USD">36776000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i_2022-12-31_BalanceSheetLocationAxis-CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember"
      decimals="-4"
      id="c93264547"
      unitRef="USD">2650000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i_2021-12-31_BalanceSheetLocationAxis-CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember"
      decimals="-3"
      id="c93264548"
      unitRef="USD">4209000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i_2022-12-31_BalanceSheetLocationAxis-FinanceLeaseAndOtherLongtermLiabilitiesMember"
      decimals="-4"
      id="c93264549"
      unitRef="USD">24770000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i_2021-12-31_BalanceSheetLocationAxis-FinanceLeaseAndOtherLongtermLiabilitiesMember"
      decimals="-3"
      id="c93264550"
      unitRef="USD">34966000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiability
      contextRef="i_2022-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember"
      decimals="-4"
      id="c93264551"
      unitRef="USD">27420000</us-gaap:FinanceLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="i_2021-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember"
      decimals="-3"
      id="c93264552"
      unitRef="USD">39175000</us-gaap:FinanceLeaseLiability>
    <gnrc:ScheduleOfLeasesCashFlowInformationTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284695">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Year Ended December 31, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Year Ended December 31, 2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Year Ended December 31, 2020&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Cash paid for amounts included in the measurement of lease liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Operating cash flows from operating leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;36,020&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;21,250&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;18,412&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Operating cash flows from finance leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,919&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,972&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,871&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Financing cash flows from finance leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4,931&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4,679&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,957&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;ROU assets obtained in exchange for lease liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Operating leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;28,766&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;55,057&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;41,678&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Finance leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;2,874&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4,026&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,737&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </gnrc:ScheduleOfLeasesCashFlowInformationTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-4"
      id="c93264554"
      unitRef="USD">36020000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-4"
      id="c93264555"
      unitRef="USD">21250000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264556"
      unitRef="USD">18412000</us-gaap:OperatingLeasePayments>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264557"
      unitRef="USD">1919000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264558"
      unitRef="USD">1972000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264559"
      unitRef="USD">1871000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264560"
      unitRef="USD">4931000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264561"
      unitRef="USD">4679000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264562"
      unitRef="USD">3957000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264564"
      unitRef="USD">28766000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264565"
      unitRef="USD">55057000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264566"
      unitRef="USD">41678000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264567"
      unitRef="USD">2874000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264568"
      unitRef="USD">4026000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264569"
      unitRef="USD">3737000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <gnrc:LeaseTermAndDiscountRateTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284696">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31, 2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;December 31, 2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Weighted average remaining lease term (in years)&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Operating Leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4.65&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;5.21&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Finance Leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;11.26&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;11.94&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Weighted average discount rate&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Operating Leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4.82&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3.58&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Finance Leases&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;7.58&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;7.43&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </gnrc:LeaseTermAndDiscountRateTableTextBlock>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="i_2022-12-31" id="c93264571">P4Y7M24D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="i_2021-12-31" id="c93264572">P5Y2M15D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1 contextRef="i_2022-12-31" id="c93264573">P11Y3M3D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1 contextRef="i_2021-12-31" id="c93264574">P11Y11M8D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i_2022-12-31"
      decimals="4"
      id="c93264576"
      unitRef="Pure">0.0482</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i_2021-12-31"
      decimals="4"
      id="c93264577"
      unitRef="Pure">0.0358</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="i_2022-12-31"
      decimals="4"
      id="c93264578"
      unitRef="Pure">0.0758</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="i_2021-12-31"
      decimals="4"
      id="c93264579"
      unitRef="Pure">0.0743</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <gnrc:OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284697">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Finance Leases&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Operating Leases&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;4,487&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;34,208&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;2024&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;4,223&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;30,834&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;2025&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;3,639&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;20,386&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;2026&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;3,137&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;9,855&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;2027&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;2,929&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;8,334&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;After 2027&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;24,405&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;14,743&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total minimum lease payments&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;42,820&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;118,360&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Interest component&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(15,400&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(14,483&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Present value of minimum lease payments&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;27,420&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;103,877&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </gnrc:OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264582"
      unitRef="USD">4487000</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264583"
      unitRef="USD">34208000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264584"
      unitRef="USD">4223000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264585"
      unitRef="USD">30834000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264586"
      unitRef="USD">3639000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264587"
      unitRef="USD">20386000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264588"
      unitRef="USD">3137000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264589"
      unitRef="USD">9855000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264590"
      unitRef="USD">2929000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264591"
      unitRef="USD">8334000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264592"
      unitRef="USD">24405000</us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264593"
      unitRef="USD">14743000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c93264594"
      unitRef="USD">42820000</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c93264595"
      unitRef="USD">118360000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="i_2022-12-31"
      decimals="-5"
      id="c93264596"
      unitRef="USD">15400000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264597"
      unitRef="USD">14483000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiability
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c93264598"
      unitRef="USD">27420000</us-gaap:FinanceLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="i_2022-12-31_BalanceSheetLocationAxis-OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember"
      decimals="-3"
      id="c93264599"
      unitRef="USD">103877000</us-gaap:OperatingLeaseLiability>
    <us-gaap:ProductWarrantyDisclosureTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284698">
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;11.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"&gt;&lt;b&gt;Product Warranty Obligations&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company records a liability for standard product warranty obligations accounted for as assurance warranties at the time of sale of the related product to a customer based on historical warranty experience. The Company also records a liability for specific warranty matters when they become known and are reasonably estimable. The following is a tabular reconciliation of the Company&#x2019;s standard product warranty liability accounted for as an assurance warranty:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Balance at beginning of period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;94,213&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;59,218&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;49,316&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Product warranty reserve assumed in acquisition&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;3,932&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;124&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Payments&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(77,476&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(42,682&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(33,496&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Provision for warranty issued&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;80,340&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;69,280&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;42,093&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Changes in estimates for pre-existing warranties (1)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;40,934&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;4,465&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,181&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Balance at end of period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;138,011&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;94,213&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;59,218&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt;(&lt;em style="font: inherit;"&gt;1&lt;/em&gt;)&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;Includes a specific warranty provision recorded during the &lt;em style="font: inherit;"&gt;third&lt;/em&gt; quarter of &lt;em style="font: inherit;"&gt;2022&lt;/em&gt; in the amount of $37,338 to address certain clean energy product related matters.&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company also sells extended warranty coverage for certain products, which it accounts for as a service warranty. The sales of extended warranties are recorded as deferred revenue, and typically have a duration of &lt;span style="-sec-ix-hidden:c93264605"&gt;five&lt;/span&gt; to &lt;span style="-sec-ix-hidden:c93264606"&gt;ten&lt;/span&gt; years. The deferred revenue related to extended warranty coverage is amortized over the duration of the extended warranty contract period, following the standard warranty period, using the straight-line method. The Company believes the straight-line method is appropriate because the performance obligation is satisfied based on the passage of time. The amortization of deferred revenue is recorded to net sales in the consolidated statements of comprehensive income. The following is a tabular reconciliation of the deferred revenue related to extended warranty coverage:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Balance at beginning of period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;111,647&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;89,788&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;78,738&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Deferred revenue contracts issued&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;42,869&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;41,560&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;26,968&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Amortization of deferred revenue contracts&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(21,703&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(19,701&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(15,918&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Balance at end of period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;132,813&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;111,647&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;89,788&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The timing of recognition of the Company&#x2019;s deferred revenue balance related to extended warranties at &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt; is as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;202&lt;span style="-sec-ix-hidden:c93264675"&gt;3&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;30,291&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;202&lt;span style="-sec-ix-hidden:c93264677"&gt;4&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;24,472&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;202&lt;span style="-sec-ix-hidden:c93264679"&gt;5&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;22,120&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;202&lt;span style="-sec-ix-hidden:c93264681"&gt;6&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;17,803&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;After 202&lt;span style="-sec-ix-hidden:c93264683"&gt;6&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;38,127&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;132,813&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company has&#160;a post-sale extended warranty marketing agreement&#160;with a &lt;em style="font: inherit;"&gt;third&lt;/em&gt; party, pursuant to which&#160;the Company is required to pay fees to the &lt;em style="font: inherit;"&gt;third&lt;/em&gt;-party service provider based on the number of extended warranty contracts that they sell, which it classifies as costs to obtain a contract. These fees are deferred and recorded as other assets in the consolidated balance sheets, and then&#160;amortized to net sales in the consolidated statements of comprehensive income over the same period that the underlying deferred revenue is recognized. Deferred contract costs as of &lt;em style="font: inherit;"&gt; December 31, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; were&#160;$9,199&#160;and $8,479, respectively. Amortization of deferred contract costs recorded during the years ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt; was $1,932,&#160;$1,739, and $1,303, respectively.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Standard product warranty obligations and extended warranty related deferred revenues are included in the consolidated balance sheets as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;December 31,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 66%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Product warranty liability&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Current portion - accrued product warranty&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;89,141&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;59,052&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Long-term portion - other long-term liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;48,870&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;35,161&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 18pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;138,011&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;94,213&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Deferred revenue related to extended warranties&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Current portion - other accrued liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;30,291&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;20,556&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Long-term portion - other long-term liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;102,522&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;91,091&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 18pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;132,813&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;111,647&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
  </us-gaap:ProductWarrantyDisclosureTextBlock>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock
      contextRef="d_2022-01-01_2022-12-31"
      id="F8289F20-BA19-4DA2-8DFA-6148D2998039">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Balance at beginning of period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;94,213&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;59,218&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;49,316&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Product warranty reserve assumed in acquisition&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;3,932&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;124&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Payments&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(77,476&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(42,682&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(33,496&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Provision for warranty issued&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;80,340&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;69,280&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;42,093&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Changes in estimates for pre-existing warranties (1)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;40,934&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;4,465&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,181&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Balance at end of period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;138,011&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;94,213&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;59,218&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Balance at beginning of period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;111,647&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;89,788&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;78,738&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Deferred revenue contracts issued&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;42,869&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;41,560&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;26,968&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Amortization of deferred revenue contracts&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(21,703&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(19,701&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(15,918&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Balance at end of period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;132,813&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;111,647&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;89,788&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264638"
      unitRef="USD">94213000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="i_2020-12-31"
      decimals="-3"
      id="c93264639"
      unitRef="USD">59218000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="i_2019-12-31"
      decimals="-3"
      id="c93264640"
      unitRef="USD">49316000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264641"
      unitRef="USD">0</us-gaap:StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition>
    <us-gaap:StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264642"
      unitRef="USD">3932000</us-gaap:StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition>
    <us-gaap:StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264643"
      unitRef="USD">124000</us-gaap:StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition>
    <us-gaap:StandardProductWarrantyAccrualPayments
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264644"
      unitRef="USD">77476000</us-gaap:StandardProductWarrantyAccrualPayments>
    <us-gaap:StandardProductWarrantyAccrualPayments
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264645"
      unitRef="USD">42682000</us-gaap:StandardProductWarrantyAccrualPayments>
    <us-gaap:StandardProductWarrantyAccrualPayments
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264646"
      unitRef="USD">33496000</us-gaap:StandardProductWarrantyAccrualPayments>
    <us-gaap:StandardProductWarrantyAccrualWarrantiesIssued
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-4"
      id="c93264647"
      unitRef="USD">80340000</us-gaap:StandardProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:StandardProductWarrantyAccrualWarrantiesIssued
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-4"
      id="c93264648"
      unitRef="USD">69280000</us-gaap:StandardProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:StandardProductWarrantyAccrualWarrantiesIssued
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264649"
      unitRef="USD">42093000</us-gaap:StandardProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264650"
      unitRef="USD">40934000</us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264651"
      unitRef="USD">4465000</us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264652"
      unitRef="USD">1181000</us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264653"
      unitRef="USD">138011000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264654"
      unitRef="USD">94213000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="i_2020-12-31"
      decimals="-3"
      id="c93264655"
      unitRef="USD">59218000</us-gaap:StandardProductWarrantyAccrual>
    <gnrc:StandardProductWarrantyAccrualWarrantyProvision
      contextRef="d_2022-07-01_2022-09-30"
      decimals="-3"
      id="c93264604"
      unitRef="USD">37338000</gnrc:StandardProductWarrantyAccrualWarrantyProvision>
    <us-gaap:ExtendedProductWarrantyAccrual
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264662"
      unitRef="USD">111647000</us-gaap:ExtendedProductWarrantyAccrual>
    <us-gaap:ExtendedProductWarrantyAccrual
      contextRef="i_2020-12-31"
      decimals="-3"
      id="c93264663"
      unitRef="USD">89788000</us-gaap:ExtendedProductWarrantyAccrual>
    <us-gaap:ExtendedProductWarrantyAccrual
      contextRef="i_2019-12-31"
      decimals="-3"
      id="c93264664"
      unitRef="USD">78738000</us-gaap:ExtendedProductWarrantyAccrual>
    <us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264665"
      unitRef="USD">42869000</us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-4"
      id="c93264666"
      unitRef="USD">41560000</us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264667"
      unitRef="USD">26968000</us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued>
    <gnrc:AmortizationOfDeferredRevenueOnExtendedWarrantyContracts
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264668"
      unitRef="USD">-21703000</gnrc:AmortizationOfDeferredRevenueOnExtendedWarrantyContracts>
    <gnrc:AmortizationOfDeferredRevenueOnExtendedWarrantyContracts
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264669"
      unitRef="USD">-19701000</gnrc:AmortizationOfDeferredRevenueOnExtendedWarrantyContracts>
    <gnrc:AmortizationOfDeferredRevenueOnExtendedWarrantyContracts
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264670"
      unitRef="USD">-15918000</gnrc:AmortizationOfDeferredRevenueOnExtendedWarrantyContracts>
    <us-gaap:ExtendedProductWarrantyAccrual
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264671"
      unitRef="USD">132813000</us-gaap:ExtendedProductWarrantyAccrual>
    <us-gaap:ExtendedProductWarrantyAccrual
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264672"
      unitRef="USD">111647000</us-gaap:ExtendedProductWarrantyAccrual>
    <us-gaap:ExtendedProductWarrantyAccrual
      contextRef="i_2020-12-31"
      decimals="-3"
      id="c93264673"
      unitRef="USD">89788000</us-gaap:ExtendedProductWarrantyAccrual>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284701">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;202&lt;span style="-sec-ix-hidden:c93264675"&gt;3&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;30,291&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;202&lt;span style="-sec-ix-hidden:c93264677"&gt;4&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;24,472&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;202&lt;span style="-sec-ix-hidden:c93264679"&gt;5&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;22,120&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;202&lt;span style="-sec-ix-hidden:c93264681"&gt;6&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;17,803&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;After 202&lt;span style="-sec-ix-hidden:c93264683"&gt;6&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;38,127&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;132,813&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-01-01"
      decimals="-3"
      id="c93264674"
      unitRef="USD">30291000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2024-01-01"
      decimals="-3"
      id="c93264676"
      unitRef="USD">24472000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2025-01-01"
      decimals="-4"
      id="c93264678"
      unitRef="USD">22120000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2026-01-01"
      decimals="-3"
      id="c93264680"
      unitRef="USD">17803000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2027-01-01"
      decimals="-3"
      id="c93264682"
      unitRef="USD">38127000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264684"
      unitRef="USD">132813000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:CapitalizedContractCostNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264611"
      unitRef="USD">9199000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CapitalizedContractCostNet
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264612"
      unitRef="USD">8479000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264615"
      unitRef="USD">1932000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264616"
      unitRef="USD">1739000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264617"
      unitRef="USD">1303000</us-gaap:CapitalizedContractCostAmortization>
    <gnrc:ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284702">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;December 31,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 66%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Product warranty liability&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Current portion - accrued product warranty&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;89,141&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;59,052&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Long-term portion - other long-term liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;48,870&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;35,161&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 18pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;138,011&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;94,213&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Deferred revenue related to extended warranties&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Current portion - other accrued liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;30,291&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;20,556&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Long-term portion - other long-term liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;102,522&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;91,091&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 18pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;132,813&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;111,647&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </gnrc:ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock>
    <us-gaap:StandardProductWarrantyAccrualCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264690"
      unitRef="USD">89141000</us-gaap:StandardProductWarrantyAccrualCurrent>
    <us-gaap:StandardProductWarrantyAccrualCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264691"
      unitRef="USD">59052000</us-gaap:StandardProductWarrantyAccrualCurrent>
    <us-gaap:StandardProductWarrantyAccrualNoncurrent
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c93264692"
      unitRef="USD">48870000</us-gaap:StandardProductWarrantyAccrualNoncurrent>
    <us-gaap:StandardProductWarrantyAccrualNoncurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264693"
      unitRef="USD">35161000</us-gaap:StandardProductWarrantyAccrualNoncurrent>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264694"
      unitRef="USD">138011000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264695"
      unitRef="USD">94213000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:ExtendedProductWarrantyAccrualCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264697"
      unitRef="USD">30291000</us-gaap:ExtendedProductWarrantyAccrualCurrent>
    <us-gaap:ExtendedProductWarrantyAccrualCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264698"
      unitRef="USD">20556000</us-gaap:ExtendedProductWarrantyAccrualCurrent>
    <us-gaap:ExtendedProductWarrantyAccrualNoncurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264699"
      unitRef="USD">102522000</us-gaap:ExtendedProductWarrantyAccrualNoncurrent>
    <us-gaap:ExtendedProductWarrantyAccrualNoncurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264700"
      unitRef="USD">91091000</us-gaap:ExtendedProductWarrantyAccrualNoncurrent>
    <us-gaap:ExtendedProductWarrantyAccrual
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264701"
      unitRef="USD">132813000</us-gaap:ExtendedProductWarrantyAccrual>
    <us-gaap:ExtendedProductWarrantyAccrual
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264702"
      unitRef="USD">111647000</us-gaap:ExtendedProductWarrantyAccrual>
    <us-gaap:DebtDisclosureTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284703">
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;12.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"&gt;&lt;b&gt;Credit Agreements&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;Short-term borrowings included in the consolidated balance sheets as of &lt;em style="font: inherit;"&gt; December 31, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; consisted&#160;of borrowings by the Company&#x2019;s foreign subsidiaries on local lines of credit totaling $48,990 and $72,035, respectively.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;Long-term borrowings are included in the consolidated balance sheets as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;December 31,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 66%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Tranche A Term Loan&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;750,000&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Tranche B Term Loan&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;530,000&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;780,000&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Original issue discount and deferred financing costs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(16,568&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(13,214&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;ABL facility&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;100,000&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Revolver&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;90,000&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Finance lease obligation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;27,420&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;39,175&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;966&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,060&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,381,818&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;908,021&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Less: current portion of debt&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;10,083&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1,721&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Less: current portion of finance lease obligation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,650&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;4,209&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,369,085&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;902,091&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Maturities of long-term borrowings outstanding at &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;, excluding finance lease obligations as their maturities are disclosed in Note &lt;em style="font: inherit;"&gt;10,&lt;/em&gt; &#x201c;Leases,&#x201d; and before considering original issue discount and deferred financing costs, are as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Tranche A Term Loan&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Tranche B Term Loan&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Revolver and Other&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 36%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;9,375&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;708&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;10,083&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2024&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;28,125&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;53&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;28,178&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2025&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;46,875&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;56&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;46,931&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2026&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;65,625&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;530,000&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;86&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;595,711&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2027&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;600,000&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;90,032&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;690,032&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;After 2027&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;31&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;31&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;750,000&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;530,000&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;90,966&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,370,966&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;The Tranche B Term Loan Facility matures on &lt;em style="font: inherit;"&gt; December 13, 2026, &lt;/em&gt;while the Tranche A Term Loan Facility and Revolving Facility mature on &lt;em style="font: inherit;"&gt; June 29, 2027.&#160;&lt;/em&gt;The Tranche A Term Loan Facility principal is repayable in quarterly installments beginning in &lt;em style="font: inherit;"&gt; September 2023.&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company&#x2019;s credit agreements originally provided for a $1,200,000 term loan B credit facility (Tranche B Term Loan Facility) and included a $300,000 uncommitted incremental term loan on that facility. The maturity date of the Tranche B Term Loan Facility is &lt;em style="font: inherit;"&gt; December 13, 2026. &lt;/em&gt;The Tranche B Term Loan Facility initially bore interest at rates based on either a base rate plus an applicable margin of 1.75% or adjusted LIBOR rate plus an applicable margin of 2.75%, subject to a LIBOR floor of 0.75%. After a number of amendments, as listed below, the Tranche B Term Loan Facility currently bears interest at rates based on either a base rate plus an applicable margin of 0.75% or adjusted Secured Overnight Financing Rate (SOFR) rate plus an applicable margin of 1.75%, subject to a SOFR floor of 0.00%. The interest rate for the Tranche B Term Loan Facility as of &lt;em style="font: inherit;"&gt; December 31, 2022 &lt;/em&gt;was 5.97%.&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Tranche B Term Loan Facility does &lt;em style="font: inherit;"&gt;not&lt;/em&gt; require an Excess Cash Flow payment if the Company&#x2019;s net secured leverage ratio is maintained below 3.75 to &lt;em style="font: inherit;"&gt;1.00&lt;/em&gt; times. As of &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;, the Company&#x2019;s net secured leverage ratio was&#160;&lt;span style="color:#000000;"&gt;1.55&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;to &lt;em style="font: inherit;"&gt;1.00&lt;/em&gt; times, and the Company was in compliance with all covenants of the Tranche B Term Loan Facility. There are &lt;em style="font: inherit;"&gt;no&lt;/em&gt; financial maintenance covenants on the Tranche B Term Loan Facility.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company&#x2019;s credit agreements also originally provided for a&#160;senior secured ABL revolving credit facility (ABL Facility). ABL Facility borrowings initially bore interest at rates based on either a base rate plus an applicable margin of 1.00% or adjusted LIBOR rate plus an applicable margin of 2.00%, in each case, subject to adjustments based on average availability under the&#160;ABL Facility.&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;In &lt;em style="font: inherit;"&gt; May 2021, &lt;/em&gt;the Company amended the ABL Facility, increasing its borrowing limit from $300,000 to $500,000, raising&#160;its incremental capacity from $100,000 to $200,000,&#160;and extending the maturity date from &lt;em style="font: inherit;"&gt; June 12, 2023 &lt;/em&gt;to &lt;em style="font: inherit;"&gt; May 27, 2026 (&lt;/em&gt;Amended ABL Facility). In addition, the Amended ABL Facility modified the pricing by reducing&#160;certain applicable interest rates to either a base rate plus an applicable margin of 0.00% to 0.25% or adjusted LIBOR rate plus an applicable margin of 1.00% to 1.25%, in each case,&#160;based on average availability under the Amended ABL Facility. In connection with this amendment, the Company capitalized $920 of new debt issuance costs as deferred financing costs on long-term borrowings in the &lt;em style="font: inherit;"&gt;second&lt;/em&gt; quarter of &lt;em style="font: inherit;"&gt;2021.&lt;/em&gt; At the same time, the Company also amended its Tranche B Term Loan Facility agreement to reflect the same amendments made to the ABL Facility.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;In &lt;em style="font: inherit;"&gt; May 2021, &lt;/em&gt;the Company borrowed $50,000 under the Amended ABL Facility, the proceeds of which were used as a voluntary prepayment of the Tranche B Term Loan Facility. As a result of this&#160;prepayment of the Tranche B Term Loan Facility, the Company wrote off $831 of original issue discount and capitalized debt issuance costs during the &lt;em style="font: inherit;"&gt;second&lt;/em&gt; quarter of &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; as a loss on extinguishment of debt in the&#160;consolidated statements of comprehensive income.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;In &lt;em style="font: inherit;"&gt; June 2022, &lt;/em&gt;the Company again amended and restated&#160;its existing credit agreements (Amended Credit Agreement) resulting in a new term loan facility in an aggregate principal amount of $750,000 (Tranche A Term Loan Facility), established&#160;a new revolving facility in an aggregate principal amount of $1,250,000 (Revolving Facility), terminated the ABL Facility, and&#160;replaced all LIBOR provisions to the existing Tranche B Term Loan Facility with SOFR provisions. The maturity date of the Tranche A Term Loan Facility and the Revolving Facility is &lt;em style="font: inherit;"&gt; &lt;span style="-sec-ix-hidden:c93264783"&gt;June 29, 2027&lt;/span&gt;. &lt;/em&gt;Proceeds received by the Company from the Tranche A Term Loan Facility were used to repay the total existing outstanding balance on the Company's former ABL Facility,&#160;make a $250,000 voluntary prepayment on the Tranche B Term Loan Facility, with the remaining funds to be used for future general corporate purposes.&#160;As a result of these&#160;prepayments, the Company wrote off $3,546&#160;of original issue discount and capitalized debt issuance costs during the &lt;em style="font: inherit;"&gt;second&lt;/em&gt; quarter of &lt;em style="font: inherit;"&gt;2022&lt;/em&gt; as a loss on extinguishment of debt in the&#160;consolidated statements of comprehensive income. The Revolving Facility was unfunded at closing.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Tranche A Term Loan Facility and the Revolving Facility initially bear interest at a rate based on adjusted SOFR plus an applicable margin of 1.5% through &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;subject to a SOFR floor of 0.0%. Beginning on &lt;em style="font: inherit;"&gt; January 1, 2023, &lt;/em&gt;the Tranche A Term Loan Facility and the Revolving Facility will bear interest at a rate based on adjusted SOFR plus an applicable margin between 1.25% and&#160;1.75%,&#160;based on the Company's total leverage ratio and subject to a SOFR floor of &lt;em style="font: inherit;"&gt;0.0%.&lt;/em&gt; The interest rate for the Tranche A Term Loan Facility as of &lt;em style="font: inherit;"&gt; December 31, 2022 &lt;/em&gt;was 5.72%.&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The&#160;Tranche A Term Loan Facility and the Revolving Facility&#160;added certain financial covenants that require the Company to maintain a total leverage ratio below 3.75 to &lt;em style="font: inherit;"&gt;1.00&lt;/em&gt; as well as an interest coverage ratio above&#160;3.00 to &lt;em style="font: inherit;"&gt;1.00.&lt;/em&gt;&#160;As of &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;the Company&#x2019;s total leverage&#160;ratio was 1.74&#160;to &lt;em style="font: inherit;"&gt;1.00&lt;/em&gt;&#160;times, and the Company's interest coverage ratio was &lt;span style="color:#000000;"&gt;14.81&#160;&lt;/span&gt;to &lt;em style="font: inherit;"&gt;1.00.&lt;/em&gt; The Company was in compliance with all other covenants of the Amended Credit Agreement as of &lt;em style="font: inherit;"&gt; December 31, 2022.&#160;&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Tranche B Term Loan Facility, Tranche A Term Loan Facility and Revolving Facility are guaranteed by substantially all of the Company&#x2019;s wholly-owned domestic restricted subsidiaries&#160;and are&#160;secured by associated collateral agreements which pledge a &lt;em style="font: inherit;"&gt;first&lt;/em&gt; priority lien on virtually all of the Company&#x2019;s assets, including fixed assets and intangibles, cash, trade accounts receivable, inventory, and other current assets and proceeds thereof.&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;In connection with the &lt;em style="font: inherit;"&gt; June 2022 &lt;/em&gt;refinancing and in accordance with ASC &lt;em style="font: inherit;"&gt;470&lt;/em&gt;-&lt;em style="font: inherit;"&gt;50,&lt;/em&gt; the Company capitalized $10,330 of fees paid to creditors as deferred financing costs on long-term borrowings&#160;and expensed $800 of transaction fees. The Company evaluated on a lender-by-lender basis if the debt related to returning lenders on&#160;the Revolving Facility was significantly modified or &lt;em style="font: inherit;"&gt;not,&lt;/em&gt; resulting in the write-off of $197&#160;in unamortized deferred financing costs related to the former ABL Facility as a loss on extinguishment of debt in the&#160;consolidated statements of comprehensive income.&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;As of &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;there was $90,000&#160;outstanding&#160;under the Revolving&#160;Facility, leaving $1,158,725&#160;of availability, net of outstanding letters of credit.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
  </us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ShortTermBorrowings
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c93264705"
      unitRef="USD">48990000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264706"
      unitRef="USD">72035000</us-gaap:ShortTermBorrowings>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284704">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;December 31,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 66%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Tranche A Term Loan&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;750,000&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Tranche B Term Loan&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;530,000&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;780,000&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Original issue discount and deferred financing costs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(16,568&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(13,214&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;ABL facility&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;100,000&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Revolver&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;90,000&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Finance lease obligation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;27,420&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;39,175&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;966&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,060&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,381,818&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;908,021&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Less: current portion of debt&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;10,083&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1,721&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Less: current portion of finance lease obligation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,650&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;4,209&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,369,085&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;902,091&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2022-12-31_LongtermDebtTypeAxis-TrancheATermLoanFacilityMember"
      decimals="-7"
      id="c93264788"
      unitRef="USD">750000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2021-12-31_LongtermDebtTypeAxis-TrancheATermLoanFacilityMember"
      decimals="-3"
      id="c93264789"
      unitRef="USD">0</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2022-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember"
      decimals="-7"
      id="c93264790"
      unitRef="USD">530000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i_2021-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember"
      decimals="-7"
      id="c93264791"
      unitRef="USD">780000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264792"
      unitRef="USD">16568000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264793"
      unitRef="USD">13214000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:LongTermLineOfCredit
      contextRef="i_2022-12-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember"
      decimals="-3"
      id="c93264794"
      unitRef="USD">0</us-gaap:LongTermLineOfCredit>
    <us-gaap:LongTermLineOfCredit
      contextRef="i_2021-12-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember"
      decimals="-8"
      id="c93264795"
      unitRef="USD">100000000</us-gaap:LongTermLineOfCredit>
    <us-gaap:LongTermLineOfCredit
      contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember"
      decimals="-7"
      id="c93264796"
      unitRef="USD">90000000</us-gaap:LongTermLineOfCredit>
    <us-gaap:LongTermLineOfCredit
      contextRef="i_2021-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember"
      decimals="-3"
      id="c93264797"
      unitRef="USD">0</us-gaap:LongTermLineOfCredit>
    <us-gaap:FinanceLeaseLiability
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c93264798"
      unitRef="USD">27420000</us-gaap:FinanceLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264799"
      unitRef="USD">39175000</us-gaap:FinanceLeaseLiability>
    <us-gaap:OtherBorrowings
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264800"
      unitRef="USD">966000</us-gaap:OtherBorrowings>
    <us-gaap:OtherBorrowings
      contextRef="i_2021-12-31"
      decimals="-4"
      id="c93264801"
      unitRef="USD">2060000</us-gaap:OtherBorrowings>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264802"
      unitRef="USD">1381818000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264803"
      unitRef="USD">908021000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtCurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264804"
      unitRef="USD">10083000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264805"
      unitRef="USD">1721000</us-gaap:LongTermDebtCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c93264806"
      unitRef="USD">2650000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264807"
      unitRef="USD">4209000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264808"
      unitRef="USD">1369085000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264809"
      unitRef="USD">902091000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284705">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; width: 80%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Tranche A Term Loan&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Tranche B Term Loan&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Revolver and Other&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 36%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;9,375&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;708&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;10,083&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2024&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;28,125&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;53&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;28,178&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2025&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;46,875&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;56&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;46,931&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2026&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;65,625&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;530,000&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;86&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;595,711&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2027&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;600,000&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;90,032&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;690,032&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;After 2027&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;31&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;31&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;750,000&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;530,000&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;90,966&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,370,966&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheATermLoanFacilityMember"
      decimals="-3"
      id="c93264810"
      unitRef="USD">9375000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheBTermLoanFacilityMember"
      decimals="-3"
      id="c93264811"
      unitRef="USD">0</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="i_2022-12-31_DebtInstrumentAxis-ABLRevolvingCreditFacilityMember"
      decimals="-3"
      id="c93264812"
      unitRef="USD">708000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264813"
      unitRef="USD">10083000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheATermLoanFacilityMember"
      decimals="-3"
      id="c93264814"
      unitRef="USD">28125000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheBTermLoanFacilityMember"
      decimals="-3"
      id="c93264815"
      unitRef="USD">0</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="i_2022-12-31_DebtInstrumentAxis-ABLRevolvingCreditFacilityMember"
      decimals="-3"
      id="c93264816"
      unitRef="USD">53000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264817"
      unitRef="USD">28178000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheATermLoanFacilityMember"
      decimals="-3"
      id="c93264818"
      unitRef="USD">46875000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheBTermLoanFacilityMember"
      decimals="-3"
      id="c93264819"
      unitRef="USD">0</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="i_2022-12-31_DebtInstrumentAxis-ABLRevolvingCreditFacilityMember"
      decimals="-3"
      id="c93264820"
      unitRef="USD">56000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264821"
      unitRef="USD">46931000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
      contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheATermLoanFacilityMember"
      decimals="-3"
      id="c93264822"
      unitRef="USD">65625000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
      contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheBTermLoanFacilityMember"
      decimals="-7"
      id="c93264823"
      unitRef="USD">530000000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
      contextRef="i_2022-12-31_DebtInstrumentAxis-ABLRevolvingCreditFacilityMember"
      decimals="-3"
      id="c93264824"
      unitRef="USD">86000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264825"
      unitRef="USD">595711000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive
      contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheATermLoanFacilityMember"
      decimals="-8"
      id="c93264826"
      unitRef="USD">600000000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive
      contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheBTermLoanFacilityMember"
      decimals="-3"
      id="c93264827"
      unitRef="USD">0</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive
      contextRef="i_2022-12-31_DebtInstrumentAxis-ABLRevolvingCreditFacilityMember"
      decimals="-3"
      id="c93264828"
      unitRef="USD">90032000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264829"
      unitRef="USD">690032000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive
      contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheATermLoanFacilityMember"
      decimals="-3"
      id="c93264830"
      unitRef="USD">0</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive
      contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheBTermLoanFacilityMember"
      decimals="-3"
      id="c93264831"
      unitRef="USD">0</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive
      contextRef="i_2022-12-31_DebtInstrumentAxis-ABLRevolvingCreditFacilityMember"
      decimals="-3"
      id="c93264832"
      unitRef="USD">31000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264833"
      unitRef="USD">31000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheATermLoanFacilityMember"
      decimals="-7"
      id="c93264834"
      unitRef="USD">750000000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i_2022-12-31_DebtInstrumentAxis-TrancheBTermLoanFacilityMember"
      decimals="-7"
      id="c93264835"
      unitRef="USD">530000000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i_2022-12-31_DebtInstrumentAxis-ABLRevolvingCreditFacilityMember"
      decimals="-3"
      id="c93264836"
      unitRef="USD">90966000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264837"
      unitRef="USD">1370966000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i_2013-05-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember"
      decimals="-8"
      id="c93264709"
      unitRef="USD">1200000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <gnrc:UncommittedIncrementalTermLoanFacility
      contextRef="i_2021-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember"
      decimals="-8"
      id="c93264710"
      unitRef="USD">300000000</gnrc:UncommittedIncrementalTermLoanFacility>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="d_2013-05-31_2013-05-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_VariableRateAxis-BaseRateMember"
      decimals="4"
      id="c93264711"
      unitRef="Pure">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="d_2013-05-31_2013-05-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_VariableRateAxis-AdjustedLIBORRateMember"
      decimals="4"
      id="c93264712"
      unitRef="Pure">0.0275</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="d_2013-05-31_2013-05-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_VariableRateAxis-LIBORFloorRateMember"
      decimals="4"
      id="c93264713"
      unitRef="Pure">0.0075</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="d_2022-01-01_2022-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_VariableRateAxis-BaseRateMember"
      decimals="4"
      id="c93264714"
      unitRef="Pure">0.0075</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="d_2022-01-01_2022-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_VariableRateAxis-SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember"
      decimals="4"
      id="c93264715"
      unitRef="Pure">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <gnrc:DebtInstrumentSOFRFloor
      contextRef="i_2022-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember"
      decimals="-3"
      id="c93264716"
      unitRef="Pure">0.0000</gnrc:DebtInstrumentSOFRFloor>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i_2022-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember"
      decimals="4"
      id="c93264717"
      unitRef="Pure">0.0597</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <gnrc:ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement
      contextRef="d_2022-01-01_2022-12-31_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember_RangeAxis-MaximumMember"
      decimals="INF"
      id="c93264720"
      unitRef="Pure">3.75</gnrc:ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement>
    <gnrc:SecuredLeverageRatio
      contextRef="d_2022-01-01_2022-12-31_LongtermDebtTypeAxis-TermLoanMember_RangeAxis-MaximumMember"
      decimals="INF"
      id="c93264722"
      unitRef="Pure">1.55</gnrc:SecuredLeverageRatio>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="d_2015-05-01_2015-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_VariableRateAxis-BaseRateMember"
      decimals="2"
      id="c93264725"
      unitRef="Pure">0.0100</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="d_2015-05-01_2015-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_VariableRateAxis-AdjustedLIBORRateMember"
      decimals="2"
      id="c93264727"
      unitRef="Pure">0.0200</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i_2021-05-01_CreditFacilityAxis-ABLRevolvingCreditFacilityMember"
      decimals="-8"
      id="c93264728"
      unitRef="USD">300000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember"
      decimals="-8"
      id="c93264729"
      unitRef="USD">500000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <gnrc:LineOfCreditFacilityIncrementalCapacity
      contextRef="i_2021-05-01_CreditFacilityAxis-ABLRevolvingCreditFacilityMember"
      decimals="-8"
      id="c93264730"
      unitRef="USD">100000000</gnrc:LineOfCreditFacilityIncrementalCapacity>
    <gnrc:LineOfCreditFacilityIncrementalCapacity
      contextRef="i_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember"
      decimals="-8"
      id="c93264731"
      unitRef="USD">200000000</gnrc:LineOfCreditFacilityIncrementalCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="d_2021-05-01_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_RangeAxis-MinimumMember_VariableRateAxis-BaseRateMember"
      decimals="-3"
      id="c93264732"
      unitRef="Pure">0.0000</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="d_2021-05-01_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_RangeAxis-MaximumMember_VariableRateAxis-BaseRateMember"
      decimals="4"
      id="c93264733"
      unitRef="Pure">0.0025</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="d_2021-05-01_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_RangeAxis-MinimumMember_VariableRateAxis-LondonInterbankOfferedRateLIBORMember"
      decimals="2"
      id="c93264734"
      unitRef="Pure">0.0100</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="d_2021-05-01_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember_RangeAxis-MaximumMember_VariableRateAxis-LondonInterbankOfferedRateLIBORMember"
      decimals="4"
      id="c93264735"
      unitRef="Pure">0.0125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember"
      decimals="-4"
      id="c93264736"
      unitRef="USD">920000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:ProceedsFromLongTermLinesOfCredit
      contextRef="d_2021-05-01_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember"
      decimals="-7"
      id="c93264739"
      unitRef="USD">50000000</us-gaap:ProceedsFromLongTermLinesOfCredit>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="d_2021-04-01_2021-06-30_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember"
      decimals="-3"
      id="c93264740"
      unitRef="USD">-831000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i_2022-06-30_LongtermDebtTypeAxis-TrancheATermLoanFacilityMember"
      decimals="-7"
      id="c93264743"
      unitRef="USD">750000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i_2022-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember"
      decimals="-7"
      id="c93264744"
      unitRef="USD">1250000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="d_2022-06-01_2022-06-30_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember"
      decimals="-7"
      id="c93264745"
      unitRef="USD">250000000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="d_2022-04-01_2022-06-30_LongtermDebtTypeAxis-TrancheBTermLoanFacilityMember"
      decimals="-3"
      id="c93264746"
      unitRef="USD">3546000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="d_2022-01-01_2022-12-31_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember_VariableRateAxis-SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember"
      decimals="3"
      id="c93264750"
      unitRef="Pure">0.015</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <gnrc:DebtInstrumentSOFRFloor
      contextRef="i_2022-12-31_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember"
      decimals="-3"
      id="c93264751"
      unitRef="Pure">0.000</gnrc:DebtInstrumentSOFRFloor>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="d_2023-01-01_2023-01-01_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember_RangeAxis-MinimumMember_StatementScenarioAxis-ScenarioForecastMember_VariableRateAxis-SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember"
      decimals="4"
      id="c93264752"
      unitRef="Pure">0.0125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="d_2023-01-01_2023-01-01_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember_RangeAxis-MaximumMember_StatementScenarioAxis-ScenarioForecastMember_VariableRateAxis-SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember"
      decimals="4"
      id="c93264754"
      unitRef="Pure">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i_2022-12-31_LongtermDebtTypeAxis-TrancheATermLoanFacilityAndRevolvingCreditFacilityMember"
      decimals="4"
      id="c93264758"
      unitRef="Pure">0.0572</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <gnrc:CovenantMaximumTotalLeverageRatio
      contextRef="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember"
      decimals="INF"
      id="c93264760"
      unitRef="Pure">3.75</gnrc:CovenantMaximumTotalLeverageRatio>
    <gnrc:CovenantMinimumInterestCoverageRatio
      contextRef="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember"
      decimals="INF"
      id="c93264764"
      unitRef="Pure">3.00</gnrc:CovenantMinimumInterestCoverageRatio>
    <gnrc:TotalLeverageRatio
      contextRef="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember"
      decimals="INF"
      id="c93264768"
      unitRef="Pure">1.74</gnrc:TotalLeverageRatio>
    <gnrc:InterestCoverageRatio
      contextRef="d_2022-01-01_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember"
      decimals="INF"
      id="c93264772"
      unitRef="Pure">14.81</gnrc:InterestCoverageRatio>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i_2022-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember"
      decimals="-4"
      id="c93264777"
      unitRef="USD">10330000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DebtInstrumentFeeAmount
      contextRef="i_2022-06-30_CreditFacilityAxis-RevolvingCreditFacilityMember"
      decimals="-5"
      id="c93264778"
      unitRef="USD">800000</us-gaap:DebtInstrumentFeeAmount>
    <us-gaap:WriteOffOfDeferredDebtIssuanceCost
      contextRef="d_2022-06-01_2022-06-30_CreditFacilityAxis-ABLRevolvingCreditFacilityMember"
      decimals="-3"
      id="c93264780"
      unitRef="USD">197000</us-gaap:WriteOffOfDeferredDebtIssuanceCost>
    <us-gaap:LineOfCredit
      contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember"
      decimals="-7"
      id="c93264781"
      unitRef="USD">90000000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="i_2022-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember"
      decimals="-3"
      id="c93264782"
      unitRef="USD">1158725000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:TreasuryStockTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284706">
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;13.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;Stock Repurchase Programs&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;In &lt;em style="font: inherit;"&gt; September 2020, &lt;/em&gt;the Company&#x2019;s Board of Directors approved a&#160;stock repurchase program, which&#160;commenced on &lt;em style="font: inherit;"&gt; October 27, 2020, &lt;/em&gt;and allowed&#160;for the&#160;repurchase of up to&#160;$250,000 of the Company's&#160;common stock over a 24-month&#160;period. That program was exhausted in the &lt;em style="font: inherit;"&gt;third&lt;/em&gt; quarter of &lt;em style="font: inherit;"&gt;2022.&lt;/em&gt; In&#160;&lt;em style="font: inherit;"&gt; July&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;2022,&lt;/em&gt; the Company's Board of Directors approved another stock repurchase program, which commenced on &lt;em style="font: inherit;"&gt; August 5, 2022, &lt;/em&gt;and allows for the repurchase of up to $500,000 of the Company's common stock over a 24-month period. Pursuant to the approved program, the Company &lt;em style="font: inherit;"&gt; may &lt;/em&gt;repurchase its common stock from time to time, in amounts and at prices the Company deems appropriate, subject to market conditions and other considerations. The repurchases &lt;em style="font: inherit;"&gt; may &lt;/em&gt;be executed using open market purchases, privately negotiated agreements or other transactions. The actual timing, number and value of shares repurchased under the program will be determined by management at its discretion and will depend on a number of factors, including the market price of the Company&#x2019;s common stock,&#160;general market and economic conditions, applicable legal requirements, and compliance with the terms of the Company&#x2019;s credit agreements. The repurchases &lt;em style="font: inherit;"&gt; may &lt;/em&gt;be funded with cash on hand, available borrowings, or proceeds from potential debt or other capital markets sources. The stock repurchase program &lt;em style="font: inherit;"&gt; may &lt;/em&gt;be suspended or discontinued at any time without prior notice. During the year ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;the&#160;Company repurchased 2,722,007&#160;shares of its common stock for $345,840. During the year ended &lt;em style="font: inherit;"&gt; December 31, 2021, &lt;/em&gt;the&#160;Company repurchased 350,000&#160;shares of its common stock for $125,992. During the year ended &lt;em style="font: inherit;"&gt; December 31, 2020, &lt;/em&gt;the Company did &lt;span style="-sec-ix-hidden:c93264850"&gt;not&lt;/span&gt; repurchase any shares of its common stock.&#160;Since the inception of all stock repurchase programs (starting in &lt;em style="font: inherit;"&gt; August 2015), &lt;/em&gt;we&#160;have&#160;repurchased 11,748,713&#160;shares of our&#160;common stock for $777,379&#160;(at an average cost per share of $66.17).&lt;/p&gt;
  </us-gaap:TreasuryStockTextBlock>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="i_2020-09-30"
      decimals="-7"
      id="c93264839"
      unitRef="USD">250000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchaseProgramPeriodInForce1 contextRef="d_2020-09-01_2020-09-30" id="c93264840">P24Y</us-gaap:StockRepurchaseProgramPeriodInForce1>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="i_2022-08-05"
      decimals="-8"
      id="c93264844"
      unitRef="USD">500000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchaseProgramPeriodInForce1 contextRef="d_2022-08-05_2022-08-05" id="c93264845">P24M</us-gaap:StockRepurchaseProgramPeriodInForce1>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93264846"
      unitRef="Share">2722007</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-4"
      id="c93264847"
      unitRef="USD">345840000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <gnrc:SharesAcquiredUnderStockRepurchasesProgramShares
      contextRef="d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="INF"
      id="c93264848"
      unitRef="Share">350000</gnrc:SharesAcquiredUnderStockRepurchasesProgramShares>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264849"
      unitRef="USD">125992000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <gnrc:SharesAcquiredUnderStockRepurchasesProgramShares
      contextRef="d_2015-08-01_2022-12-31_StatementEquityComponentsAxis-TreasuryStockMember"
      decimals="INF"
      id="c93264851"
      unitRef="Share">11748713</gnrc:SharesAcquiredUnderStockRepurchasesProgramShares>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="d_2015-08-01_2022-12-31"
      decimals="-3"
      id="c93264852"
      unitRef="USD">777379000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="d_2015-08-01_2022-12-31"
      decimals="INF"
      id="c93264853"
      unitRef="USDPerShare">66.17</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:EarningsPerShareTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284707">
   &lt;p style="margin: 0pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/p&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;14.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;Earnings Per Share&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Basic earnings per share is calculated by dividing net income attributable to the common shareholders of the Company by the weighted average number of common shares outstanding during the period, exclusive of restricted shares. Except where the result would be anti-dilutive, diluted earnings per share is calculated by assuming the vesting of unvested restricted stock and the exercise of stock options, as well as the satisfaction of certain contingent acquisition consideration conditions as of the end of the period. Refer to Note &lt;em style="font: inherit;"&gt;4,&lt;/em&gt; &#x201c;Redeemable Noncontrolling Interest,&#x201d; to the consolidated financial statements for further information regarding the accounting for redeemable noncontrolling interests.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&lt;b&gt;Numerator&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Net income attributable to Generac Holdings Inc.&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;399,502&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;550,494&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;350,576&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Redeemable noncontrolling interest redemption value adjustment&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(49,235&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(17,102&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(1,247&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Net income attributable to common shareholders&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;350,267&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;533,392&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;349,329&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&lt;b&gt;Denominator&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Weighted average shares, basic&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;63,117,007&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;62,686,001&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;62,280,889&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Dilutive effect of stock compensation awards (1)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,087,219&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,534,603&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,456,845&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Dilutive effect of contingently issued shares&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;477,131&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;32,804&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Diluted shares&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;64,681,357&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;64,253,408&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;63,737,734&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Net income attributable to common shareholders per share&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Basic&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;5.55&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;8.51&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;5.61&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Diluted&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;5.42&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;8.30&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;5.48&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;(&lt;em style="font: inherit;"&gt;1&lt;/em&gt;)&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;For the year ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;excludes approximately 76,000&#160;stock options and restricted stock awards as the impact of such awards was anti-dilutive. There were no awards with an anti-dilutive impact for the years ended &lt;em style="font: inherit;"&gt; December 31, 2021 &lt;/em&gt;and&#160;&lt;em style="font: inherit;"&gt;2020.&lt;/em&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
  </us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284708">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&lt;b&gt;Numerator&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Net income attributable to Generac Holdings Inc.&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;399,502&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;550,494&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;350,576&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Redeemable noncontrolling interest redemption value adjustment&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(49,235&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(17,102&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(1,247&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Net income attributable to common shareholders&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;350,267&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;533,392&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;349,329&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;&lt;b&gt;Denominator&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Weighted average shares, basic&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;63,117,007&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;62,686,001&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;62,280,889&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Dilutive effect of stock compensation awards (1)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,087,219&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,534,603&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,456,845&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Dilutive effect of contingently issued shares&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;477,131&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;32,804&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Diluted shares&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;64,681,357&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;64,253,408&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;63,737,734&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Net income attributable to common shareholders per share&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Basic&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;5.55&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;8.51&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;5.61&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Diluted&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;5.42&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;8.30&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;5.48&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264878"
      unitRef="USD">399502000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264879"
      unitRef="USD">550494000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264880"
      unitRef="USD">350576000</us-gaap:NetIncomeLoss>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264881"
      unitRef="USD">-49235000</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264882"
      unitRef="USD">-17102000</us-gaap:MinorityInterestChangeInRedemptionValue>
    <us-gaap:MinorityInterestChangeInRedemptionValue
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264883"
      unitRef="USD">-1247000</us-gaap:MinorityInterestChangeInRedemptionValue>
    <gnrc:NetIncomeLossAvailableToCommonStockholders
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264884"
      unitRef="USD">350267000</gnrc:NetIncomeLossAvailableToCommonStockholders>
    <gnrc:NetIncomeLossAvailableToCommonStockholders
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264885"
      unitRef="USD">533392000</gnrc:NetIncomeLossAvailableToCommonStockholders>
    <gnrc:NetIncomeLossAvailableToCommonStockholders
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264886"
      unitRef="USD">349329000</gnrc:NetIncomeLossAvailableToCommonStockholders>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93264888"
      unitRef="Share">63117007</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93264889"
      unitRef="Share">62686001</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93264890"
      unitRef="Share">62280889</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93264891"
      unitRef="Share">1087219</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93264892"
      unitRef="Share">1534603</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93264893"
      unitRef="Share">1456845</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93264894"
      unitRef="Share">477131</us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares>
    <us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93264895"
      unitRef="Share">32804</us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares>
    <us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93264896"
      unitRef="Share">0</us-gaap:IncrementalCommonSharesAttributableToContingentlyIssuableShares>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93264897"
      unitRef="Share">64681357</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93264898"
      unitRef="Share">64253408</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93264899"
      unitRef="Share">63737734</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93264901"
      unitRef="USDPerShare">5.55</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93264902"
      unitRef="USDPerShare">8.51</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93264903"
      unitRef="USDPerShare">5.61</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93264904"
      unitRef="USDPerShare">5.42</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93264905"
      unitRef="USDPerShare">8.30</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93264906"
      unitRef="USDPerShare">5.48</us-gaap:EarningsPerShareDiluted>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2022-01-01_2022-12-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c93264862"
      unitRef="Share">76000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2021-01-01_2021-12-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember"
      decimals="-3"
      id="c93264863"
      unitRef="Share">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284709">
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;15.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"&gt;&lt;b&gt;Income Taxes&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company&#x2019;s provision for income taxes consists of the following:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Current:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Federal&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;118,320&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;105,236&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;62,714&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;State&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;25,743&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;21,295&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;13,071&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Foreign&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;51,055&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;10,536&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,974&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-left: 18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;195,118&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;137,067&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;77,759&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Deferred:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Federal&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(43,475&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;10,518&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;20,452&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;State&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(10,966&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(3,728&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1,243&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Foreign&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(40,109&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(7,863&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(1,197&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-left: 18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(94,550&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(1,073&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;20,498&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Change in valuation allowance&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(972&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(1,037&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;716&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Provision for income taxes&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;99,596&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;134,957&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;98,973&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company files U.S. federal, U.S. state and foreign jurisdiction tax returns which are subject to examination up to the expiration of the statute of limitations. The Company&#160;believes the tax positions taken on its&#160;returns would be sustained upon an exam, or where a position is uncertain, adequate reserves have been recorded. As of &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;, the Company is &lt;em style="font: inherit;"&gt;no&lt;/em&gt; longer subject to income tax examinations for United States federal income taxes for tax years prior to &lt;em style="font: inherit;"&gt;2019.&lt;/em&gt; Due to the carryforward of net operating losses and research &amp;amp; development credits, the Company&#x2019;s Wisconsin state income tax returns for tax years &lt;em style="font: inherit;"&gt;2008&lt;/em&gt;&#160;through &lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&#160;remain open. In addition, the Company is subject to audit by various foreign taxing jurisdictions for&#160;tax years &lt;em style="font: inherit;"&gt;2011&lt;/em&gt;&#160;through &lt;em style="font: inherit;"&gt;2022.&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company is regularly under tax return examination by tax authorities in the various jurisdictions&#160;in which we operate. The Company is&#160;actively managing the examinations and working to address any open matters. While the Company does &lt;em style="font: inherit;"&gt;not&lt;/em&gt; believe any material taxes or penalties are due, there is a possibility that the ultimate tax outcome of an examination &lt;em style="font: inherit;"&gt; may &lt;/em&gt;result in differences from what was recorded. Such differences &lt;em style="font: inherit;"&gt; may &lt;/em&gt;affect the provision for income taxes in the period in which the determination is made and could impact the Company&#x2019;s financial results.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Significant components of deferred tax assets and liabilities are as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;December 31,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 66%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Deferred tax assets:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Accrued expenses&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;46,994&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;37,797&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Deferred revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;34,914&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;27,003&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Inventories&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;20,229&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;14,907&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Stock-based compensation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;11,750&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;10,202&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Operating loss and credit carryforwards&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;56,279&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;68,368&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Bad debt&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1,415&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1,253&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;7,531&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;12,203&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Capitalized R&amp;amp;D&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;33,738&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Valuation allowance&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(4,638&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(7,874&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 18pt;"&gt;Total deferred tax assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;208,212&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;163,859&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Deferred tax liabilities:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Goodwill and intangible assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;260,745&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;328,162&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Depreciation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;44,385&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;21,340&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Debt refinancing costs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1,184&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;2,916&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Interest swap and derivative&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;12,370&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Prepaid expenses&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,473&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,664&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 18pt;"&gt;Total deferred tax liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;321,157&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;354,082&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Net deferred tax liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;span style="-sec-ix-hidden:c93265016"&gt;(112,945)&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;span style="-sec-ix-hidden:c93265017"&gt;(190,223&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;As of &lt;em style="font: inherit;"&gt; December 31, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021&lt;/em&gt;, deferred tax assets of $12,746&#160;and $15,740, and deferred tax liabilities of $125,691&#160;and $205,964, respectively, were reflected on the consolidated balance sheets.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company maintains a valuation allowance against the deferred tax assets&#160;when it is uncertain it&#160;will generate sufficient taxable income to utilize the asset. During &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, the valuation allowance decreased&#160;by $3,236 primarily due to a reversal of valuation allowance in certain jurisdictions where we believe the deferred tax assets can now be utilized, partially offset by the&#160;establishment of valuation allowances in certain jurisdictions where we believe the deferred tax assets cannot be used.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;At &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;the Company had tax loss carryforwards of approximately $238,371,&#160;which have varying expiration periods ranging from &lt;em style="font: inherit;"&gt;2023&lt;/em&gt; to indefinite. For carryforward amounts where the Company believes the losses will expire prior to use, a valuation allowance has been established. For all other carryforwards the Company believes it will generate sufficient taxable income in these jurisdictions to utilize its loss carryforwards.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;At &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;, the Company had&#160;state manufacturing tax credit carryforwards of approximately $29,946, which expire between &lt;em style="font: inherit;"&gt;2028&lt;/em&gt;&#160;and &lt;em style="font: inherit;"&gt;2037.&lt;/em&gt; The Company believes it will generate sufficient taxable income in these jurisdictions to fully utilize the credits prior to their expiration.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;Changes in the Company&#x2019;s gross liability for unrecognized tax benefits, excluding interest and penalties, were as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;December 31,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 66%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Unrecognized tax benefit, beginning of period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;8,647&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;7,613&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Increase in unrecognized tax benefit for positions taken in prior period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;97&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;272&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Increase in unrecognized tax benefit for positions taken in current period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;975&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;990&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Statute of limitation expirations&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(824&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(228&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Settlements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Unrecognized tax benefit, end of period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;8,895&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;8,647&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The unrecognized tax benefit as of&#160;&lt;em style="font: inherit;"&gt; December 31, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021&lt;/em&gt;, if recognized, would favorably impact the effective tax rate.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;As of&#160;&lt;em style="font: inherit;"&gt; December 31, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021&lt;/em&gt;, total accrued interest of approximately $161&#160;and $127, respectively,&#160;and&#160;accrued penalties of approximately $422&#160;and&#160;$357, respectively, associated with net unrecognized tax benefits are included in the consolidated balance sheets. Interest and penalties are recorded as a component of income tax expense.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The Company does &lt;em style="font: inherit;"&gt;not&lt;/em&gt; expect a significant increase or decrease to the total amounts of unrecognized tax benefits related to continuing operations during the following fiscal year ending &lt;em style="font: inherit;"&gt; December&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;31,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2023.&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;A reconciliation of the statutory tax rates to&#160;the effective tax rates for the years ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt; are as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;U.S. statutory rate&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;21.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;21.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;21.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;State taxes&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;4.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;4.3&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;4.3&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;State tax rate differential&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(0.3&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;0.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;0.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Research and development credits&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(1.1&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(1.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(1.1&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;State credits&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(1.5&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(1.1&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(1.5&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Share-based compensation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(2.7&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(3.8&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(1.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Nondeductible U.S. compensation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1.6&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1.5&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;0.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Foreign tax deduction&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(0.4&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(1.5&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;0.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Foreign deferred tax rate change&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;0.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1.2&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;0.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(1.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(1.1&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;0.5&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Effective tax rate&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);"&gt;19.6&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);"&gt;19.5&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);"&gt;22.2&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
  </us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284710">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Current:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Federal&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;118,320&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;105,236&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;62,714&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;State&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;25,743&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;21,295&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;13,071&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Foreign&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;51,055&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;10,536&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,974&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-left: 18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;195,118&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;137,067&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;77,759&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Deferred:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Federal&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(43,475&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;10,518&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;20,452&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;State&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(10,966&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(3,728&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1,243&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Foreign&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(40,109&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(7,863&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(1,197&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-left: 18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(94,550&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(1,073&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;20,498&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Change in valuation allowance&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(972&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(1,037&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;716&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Provision for income taxes&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;99,596&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;134,957&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;98,973&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-4"
      id="c93264947"
      unitRef="USD">118320000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264948"
      unitRef="USD">105236000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264949"
      unitRef="USD">62714000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264950"
      unitRef="USD">25743000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264951"
      unitRef="USD">21295000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264952"
      unitRef="USD">13071000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264953"
      unitRef="USD">51055000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264954"
      unitRef="USD">10536000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264955"
      unitRef="USD">1974000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264956"
      unitRef="USD">195118000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264957"
      unitRef="USD">137067000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264958"
      unitRef="USD">77759000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264960"
      unitRef="USD">-43475000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264961"
      unitRef="USD">10518000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264962"
      unitRef="USD">20452000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264963"
      unitRef="USD">-10966000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264964"
      unitRef="USD">-3728000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264965"
      unitRef="USD">1243000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264966"
      unitRef="USD">-40109000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264967"
      unitRef="USD">-7863000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264968"
      unitRef="USD">-1197000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <gnrc:DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-4"
      id="c93264969"
      unitRef="USD">-94550000</gnrc:DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance>
    <gnrc:DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264970"
      unitRef="USD">-1073000</gnrc:DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance>
    <gnrc:DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264971"
      unitRef="USD">20498000</gnrc:DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264972"
      unitRef="USD">-972000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264973"
      unitRef="USD">-1037000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264974"
      unitRef="USD">716000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264975"
      unitRef="USD">99596000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264976"
      unitRef="USD">134957000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93264977"
      unitRef="USD">98973000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284711">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;December 31,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 66%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Deferred tax assets:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Accrued expenses&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;46,994&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;37,797&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Deferred revenue&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;34,914&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;27,003&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Inventories&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;20,229&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;14,907&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Stock-based compensation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;11,750&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;10,202&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Operating loss and credit carryforwards&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;56,279&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;68,368&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Bad debt&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1,415&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1,253&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;7,531&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;12,203&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Capitalized R&amp;amp;D&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;33,738&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Valuation allowance&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(4,638&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(7,874&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 18pt;"&gt;Total deferred tax assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;208,212&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;163,859&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Deferred tax liabilities:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Goodwill and intangible assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;260,745&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;328,162&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Depreciation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;44,385&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;21,340&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Debt refinancing costs&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1,184&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;2,916&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Interest swap and derivative&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;12,370&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Prepaid expenses&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,473&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;1,664&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 18pt;"&gt;Total deferred tax liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;321,157&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;354,082&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Net deferred tax liabilities&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;span style="-sec-ix-hidden:c93265016"&gt;(112,945)&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&lt;span style="-sec-ix-hidden:c93265017"&gt;(190,223&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264983"
      unitRef="USD">46994000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264984"
      unitRef="USD">37797000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsDeferredIncome
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264985"
      unitRef="USD">34914000</us-gaap:DeferredTaxAssetsDeferredIncome>
    <us-gaap:DeferredTaxAssetsDeferredIncome
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264986"
      unitRef="USD">27003000</us-gaap:DeferredTaxAssetsDeferredIncome>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264987"
      unitRef="USD">20229000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264988"
      unitRef="USD">14907000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c93264989"
      unitRef="USD">11750000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264990"
      unitRef="USD">10202000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264991"
      unitRef="USD">56279000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264992"
      unitRef="USD">68368000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264993"
      unitRef="USD">1415000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264994"
      unitRef="USD">1253000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264995"
      unitRef="USD">7531000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264996"
      unitRef="USD">12203000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264997"
      unitRef="USD">33738000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264998"
      unitRef="USD">0</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264999"
      unitRef="USD">4638000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93265000"
      unitRef="USD">7874000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93265001"
      unitRef="USD">208212000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93265002"
      unitRef="USD">163859000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93265004"
      unitRef="USD">260745000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93265005"
      unitRef="USD">328162000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93265006"
      unitRef="USD">44385000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="i_2021-12-31"
      decimals="-4"
      id="c93265007"
      unitRef="USD">21340000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93265008"
      unitRef="USD">1184000</us-gaap:DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts>
    <us-gaap:DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93265009"
      unitRef="USD">2916000</us-gaap:DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts>
    <us-gaap:DeferredTaxLiabilitiesDerivatives
      contextRef="i_2022-12-31"
      decimals="-4"
      id="c93265010"
      unitRef="USD">12370000</us-gaap:DeferredTaxLiabilitiesDerivatives>
    <us-gaap:DeferredTaxLiabilitiesDerivatives
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93265011"
      unitRef="USD">0</us-gaap:DeferredTaxLiabilitiesDerivatives>
    <us-gaap:DeferredTaxLiabilitiesPrepaidExpenses
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93265012"
      unitRef="USD">2473000</us-gaap:DeferredTaxLiabilitiesPrepaidExpenses>
    <us-gaap:DeferredTaxLiabilitiesPrepaidExpenses
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93265013"
      unitRef="USD">1664000</us-gaap:DeferredTaxLiabilitiesPrepaidExpenses>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93265014"
      unitRef="USD">321157000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93265015"
      unitRef="USD">354082000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264917"
      unitRef="USD">12746000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="i_2021-12-31"
      decimals="-4"
      id="c93264918"
      unitRef="USD">15740000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264919"
      unitRef="USD">125691000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93264920"
      unitRef="USD">205964000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <gnrc:VauationAllowancesAndReservesAdjustments
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264922"
      unitRef="USD">3236000</gnrc:VauationAllowancesAndReservesAdjustments>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264923"
      unitRef="USD">238371000</us-gaap:TaxCreditCarryforwardAmount>
    <gnrc:TaxCreditCarryforwardStateManufacturing
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93264925"
      unitRef="USD">29946000</gnrc:TaxCreditCarryforwardStateManufacturing>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284712">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;December 31,&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 66%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Unrecognized tax benefit, beginning of period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;8,647&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;7,613&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Increase in unrecognized tax benefit for positions taken in prior period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;97&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;272&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Increase in unrecognized tax benefit for positions taken in current period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;975&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;990&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Statute of limitation expirations&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(824&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(228&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Settlements&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Unrecognized tax benefit, end of period&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;8,895&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;8,647&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93265022"
      unitRef="USD">8647000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i_2020-12-31"
      decimals="-3"
      id="c93265023"
      unitRef="USD">7613000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93265024"
      unitRef="USD">97000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93265025"
      unitRef="USD">272000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93265026"
      unitRef="USD">975000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-4"
      id="c93265027"
      unitRef="USD">990000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93265028"
      unitRef="USD">824000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93265029"
      unitRef="USD">228000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93265030"
      unitRef="USD">-0</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93265031"
      unitRef="USD">-0</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93265032"
      unitRef="USD">8895000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93265033"
      unitRef="USD">8647000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264930"
      unitRef="USD">161000</us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense>
    <us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264931"
      unitRef="USD">127000</us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93264932"
      unitRef="USD">422000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93264933"
      unitRef="USD">357000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284713">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Year Ended December 31,&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;U.S. statutory rate&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;21.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;21.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;21.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;State taxes&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;4.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;4.3&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;4.3&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;State tax rate differential&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(0.3&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;0.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;0.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Research and development credits&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(1.1&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(1.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(1.1&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;State credits&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(1.5&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(1.1&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(1.5&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Share-based compensation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(2.7&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(3.8&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(1.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Nondeductible U.S. compensation&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1.6&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1.5&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;0.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Foreign tax deduction&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(0.4&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(1.5&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;0.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Foreign deferred tax rate change&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;0.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1.2&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;0.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Other&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(1.0&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(1.1&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;0.5&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 1px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 52%; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px;"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Effective tax rate&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);"&gt;19.6&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);"&gt;19.5&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin: 0px; border-bottom: 3px double rgb(0, 0, 0);"&gt;22.2&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px 0px 3px; margin: 0px;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="d_2022-01-01_2022-12-31"
      decimals="2"
      id="c93265040"
      unitRef="Pure">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="d_2021-01-01_2021-12-31"
      decimals="2"
      id="c93265041"
      unitRef="Pure">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="d_2020-01-01_2020-12-31"
      decimals="2"
      id="c93265042"
      unitRef="Pure">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="d_2022-01-01_2022-12-31"
      decimals="2"
      id="c93265043"
      unitRef="Pure">0.040</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="d_2021-01-01_2021-12-31"
      decimals="3"
      id="c93265044"
      unitRef="Pure">0.043</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="d_2020-01-01_2020-12-31"
      decimals="3"
      id="c93265045"
      unitRef="Pure">0.043</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <gnrc:EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent
      contextRef="d_2022-01-01_2022-12-31"
      decimals="3"
      id="c93265046"
      unitRef="Pure">-0.003</gnrc:EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent>
    <gnrc:EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93265047"
      unitRef="Pure">0.000</gnrc:EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent>
    <gnrc:EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93265048"
      unitRef="Pure">0.000</gnrc:EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="d_2022-01-01_2022-12-31"
      decimals="3"
      id="c93265049"
      unitRef="Pure">0.011</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="d_2021-01-01_2021-12-31"
      decimals="2"
      id="c93265050"
      unitRef="Pure">0.010</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="d_2020-01-01_2020-12-31"
      decimals="3"
      id="c93265051"
      unitRef="Pure">0.011</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <gnrc:EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent
      contextRef="d_2022-01-01_2022-12-31"
      decimals="3"
      id="c93265052"
      unitRef="Pure">-0.015</gnrc:EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent>
    <gnrc:EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent
      contextRef="d_2021-01-01_2021-12-31"
      decimals="3"
      id="c93265053"
      unitRef="Pure">-0.011</gnrc:EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent>
    <gnrc:EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent
      contextRef="d_2020-01-01_2020-12-31"
      decimals="3"
      id="c93265054"
      unitRef="Pure">-0.015</gnrc:EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="d_2022-01-01_2022-12-31"
      decimals="3"
      id="c93265055"
      unitRef="Pure">-0.027</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="d_2021-01-01_2021-12-31"
      decimals="3"
      id="c93265056"
      unitRef="Pure">-0.038</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="d_2020-01-01_2020-12-31"
      decimals="2"
      id="c93265057"
      unitRef="Pure">-0.010</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="d_2022-01-01_2022-12-31"
      decimals="3"
      id="c93265058"
      unitRef="Pure">0.016</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="d_2021-01-01_2021-12-31"
      decimals="3"
      id="c93265059"
      unitRef="Pure">0.015</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93265060"
      unitRef="Pure">0.000</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <gnrc:EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent
      contextRef="d_2022-01-01_2022-12-31"
      decimals="3"
      id="c93265061"
      unitRef="Pure">-0.004</gnrc:EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent>
    <gnrc:EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent
      contextRef="d_2021-01-01_2021-12-31"
      decimals="3"
      id="c93265062"
      unitRef="Pure">-0.015</gnrc:EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent>
    <gnrc:EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93265063"
      unitRef="Pure">0.000</gnrc:EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent>
    <gnrc:EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-3"
      id="c93265064"
      unitRef="Pure">0.000</gnrc:EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent>
    <gnrc:EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent
      contextRef="d_2021-01-01_2021-12-31"
      decimals="3"
      id="c93265065"
      unitRef="Pure">0.012</gnrc:EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent>
    <gnrc:EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93265066"
      unitRef="Pure">0.000</gnrc:EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="d_2022-01-01_2022-12-31"
      decimals="2"
      id="c93265067"
      unitRef="Pure">-0.010</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="d_2021-01-01_2021-12-31"
      decimals="3"
      id="c93265068"
      unitRef="Pure">-0.011</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="d_2020-01-01_2020-12-31"
      decimals="3"
      id="c93265069"
      unitRef="Pure">0.005</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="d_2022-01-01_2022-12-31"
      decimals="3"
      id="c93265070"
      unitRef="Pure">0.196</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="d_2021-01-01_2021-12-31"
      decimals="3"
      id="c93265071"
      unitRef="Pure">0.195</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="d_2020-01-01_2020-12-31"
      decimals="3"
      id="c93265072"
      unitRef="Pure">0.222</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284714">
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;16.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"&gt;&lt;b&gt;Benefit Plans&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin: 0pt; text-align: left;"&gt;&lt;b&gt;Medical and Dental Plans&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company maintains medical and dental benefit plans covering its full-time domestic employees and their dependents. These&#160;plans are partially or fully self-funded under which participant claims are obligations of the plan. These plans are funded through employer and employee contributions at a level sufficient to pay for the benefits provided by the plan. The Company&#x2019;s contributions to the plans were $31,180, $24,189, and $24,617&#160;for the years ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company&#x2019;s foreign subsidiaries participate in government sponsored medical benefit plans and other local plans. In certain cases, the Company purchases supplemental medical coverage for certain employees at these foreign locations. The expenses related to these plans are &lt;em style="font: inherit;"&gt;not&lt;/em&gt; material to the Company&#x2019;s consolidated financial statements.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&lt;b&gt;Savings Plan&lt;/b&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company maintains a defined-contribution &lt;em style="font: inherit;"&gt;401&lt;/em&gt;(k) savings plan for eligible domestic employees. Under the plan, employees &lt;em style="font: inherit;"&gt; may &lt;/em&gt;defer receipt of a portion of their eligible compensation. The Company &lt;em style="font: inherit;"&gt; may &lt;/em&gt;contribute a matching contribution of 50% of the &lt;em style="font: inherit;"&gt;first&lt;/em&gt; 6% of eligible compensation of employees that is deferred. The Company &lt;em style="font: inherit;"&gt; may &lt;/em&gt;also contribute a non-elective contribution for eligible employees employed on &lt;em style="font: inherit;"&gt; December 31, 2008 &lt;/em&gt;that were impacted by the freezing of the Company&#x2019;s pension plans. The Company&#x2019;s matching contributions are subject to vesting. Forfeitures &lt;em style="font: inherit;"&gt; may &lt;/em&gt;be applied against plan expenses and Company contributions. The Company recognized $4,141, $6,725, and $5,332&#160;of expense related to these plans for the years ended &lt;em style="font: inherit;"&gt; December 31,&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;


  </us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <gnrc:EmployerContributionUnderMedicalAndDentalPlan
      contextRef="d_2022-01-01_2022-12-31"
      decimals="-4"
      id="c93265074"
      unitRef="USD">31180000</gnrc:EmployerContributionUnderMedicalAndDentalPlan>
    <gnrc:EmployerContributionUnderMedicalAndDentalPlan
      contextRef="d_2021-01-01_2021-12-31"
      decimals="-3"
      id="c93265075"
      unitRef="USD">24189000</gnrc:EmployerContributionUnderMedicalAndDentalPlan>
    <gnrc:EmployerContributionUnderMedicalAndDentalPlan
      contextRef="d_2020-01-01_2020-12-31"
      decimals="-3"
      id="c93265076"
      unitRef="USD">24617000</gnrc:EmployerContributionUnderMedicalAndDentalPlan>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="d_2022-01-01_2022-12-31_RetirementPlanTypeAxis-SavingsPlan401kMember"
      decimals="1"
      id="c93265081"
      unitRef="Pure">0.50</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <gnrc:DefinedContributionPlanPercentageOfEligibleCompensation
      contextRef="d_2022-01-01_2022-12-31_RetirementPlanTypeAxis-SavingsPlan401kMember"
      decimals="2"
      id="c93265083"
      unitRef="Pure">0.06</gnrc:DefinedContributionPlanPercentageOfEligibleCompensation>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="d_2022-01-01_2022-12-31_RetirementPlanTypeAxis-SavingsPlan401kMember"
      decimals="-3"
      id="c93265084"
      unitRef="USD">4141000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="d_2021-01-01_2021-12-31_RetirementPlanTypeAxis-SavingsPlan401kMember"
      decimals="-3"
      id="c93265085"
      unitRef="USD">6725000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="d_2020-01-01_2020-12-31_RetirementPlanTypeAxis-SavingsPlan401kMember"
      decimals="-3"
      id="c93265086"
      unitRef="USD">5332000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284715">
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;17.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"&gt;&lt;b&gt;Share Plans&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company adopted an equity incentive plan (the &lt;em style="font: inherit;"&gt;2010&lt;/em&gt; Plan) on &lt;em style="font: inherit;"&gt; February 10, 2010 &lt;/em&gt;in connection with its initial public offering. The &lt;em style="font: inherit;"&gt;2010&lt;/em&gt; Plan, as amended, allowed&#160;for granting of up to 9.1 million share-based awards to executives, directors and employees. Awards available for grant under the &lt;em style="font: inherit;"&gt;2010&lt;/em&gt; Plan included stock options, stock appreciation rights, restricted stock, other share-based awards and performance-based compensation awards. New grants&#160;under the &lt;em style="font: inherit;"&gt;2010&lt;/em&gt; Plan ceased in &lt;em style="font: inherit;"&gt; June 2019. &lt;/em&gt;Total share-based compensation expense related to the &lt;em style="font: inherit;"&gt;2010&lt;/em&gt; Plan, net of estimated forfeitures, was $2,379, $6,249, and $11,681&#160;for the years ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively, which is recorded in operating expenses in the consolidated statements of comprehensive income.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;On &lt;em style="font: inherit;"&gt; June 13, 2019, &lt;/em&gt;the stockholders of Generac Holdings Inc. approved the Company&#x2019;s &lt;em style="font: inherit;"&gt;2019&lt;/em&gt; Equity Incentive Plan (the &lt;em style="font: inherit;"&gt;2019&lt;/em&gt; Plan).&#160;The &lt;em style="font: inherit;"&gt;2019&lt;/em&gt; Plan allows for granting of up to 2.7 million share-based awards to executives, directors and employees. Awards available for grant under the &lt;em style="font: inherit;"&gt;2019&lt;/em&gt;&#160;Plan include stock options, stock appreciation rights, restricted stock, other share-based awards and performance-based compensation awards. Total share-based compensation expense related to the &lt;em style="font: inherit;"&gt;2019&lt;/em&gt; Plan, net of estimated forfeitures, was $27,102, $17,705, and $9,201&#160;for the years ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&#160;and &lt;em style="font: inherit;"&gt;2020,&lt;/em&gt; respectively,&#160;which is recorded in operating expenses in the consolidated statements of comprehensive income.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&lt;b&gt;Stock Options&lt;/b&gt; - Stock options granted in &lt;em style="font: inherit;"&gt;2022&lt;/em&gt; have an exercise price between&#160;$103.50&#160;per share and $315.88&#160;per share; stock options granted in &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; have an exercise price between&#160;$323.66&#160;per share and $438.83&#160;per share; and stock options granted in &lt;em style="font: inherit;"&gt;2020&lt;/em&gt; have an exercise price between $91.00 per share and $158.89&#160;per share. Stock options vest in equal installments over &lt;span style="-sec-ix-hidden:c93265126"&gt;four&lt;/span&gt; years, subject to the grantee&#x2019;s continued employment or service and expire &lt;span style="-sec-ix-hidden:c93265127"&gt;ten&lt;/span&gt; years after the date of grant.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;Stock option exercises can be net-share settled such that the Company withholds shares with value equivalent to the exercise price of the stock option awards plus the employees&#x2019; minimum statutory obligation for the applicable income and other employment taxes. Total shares withheld were 17,376, 8,608, and 24,070&#160;for the years ended &lt;em style="font: inherit;"&gt; December 31,&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively, and were based on the value of the stock on the exercise dates. The net-share settlement has the effect of share repurchases by the Company as they reduce the number of shares that would have otherwise been issued.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;Employees can also utilize a cashless for cash exercise of stock options, such that all exercised shares will be sold in the market immediately. Cash equivalent to the exercise price of the awards plus the employees&#x2019; minimum statutory tax obligations is remitted to the Company, with the remaining cash being transferred to the employee. Total net proceeds from the cashless for cash exercise of stock options were $13,786, $38,787, and $13,089&#160;for the years ended &lt;em style="font: inherit;"&gt; December 31,&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively, and are reflected as a financing activity in the consolidated statements of cash flows.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;Total payments made by the Company to the taxing authorities for the employees&#x2019; tax obligations related to stock option exercises were $14,089, $31,680, and $7,297&#160;for the years ended &lt;em style="font: inherit;"&gt; December 31,&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively, and are reflected as a financing activity in the consolidated statements of cash flows.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The grant-date fair value of each option grant is estimated using the Black-Scholes-Merton option pricing model. The fair value is then amortized on a straight-line basis over the requisite service period of the awards, which is generally the vesting period. Use of a valuation model requires management to make certain assumptions with respect to selected model inputs. Expected volatility is calculated based on an analysis of historic volatility of the Company&#x2019;s stock price. The average expected life is based on the contractual term of the option using the simplified method. The risk-free interest rate is based on U.S. Treasury &lt;em style="font: inherit;"&gt;zero&lt;/em&gt;-coupon issues with a remaining term equal to the expected life assumed at the date of grant. The compensation expense recognized is net of estimated forfeitures. Forfeitures are estimated based on actual share option forfeiture history and are trued up upon vesting based on actual forfeiture activity.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;The weighted-average assumptions used in the Black-Scholes-Merton option pricing model for &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt; are as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" rowspan="1" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;b&gt;Year Ended December 31,&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;b&gt;2020&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 49%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Weighted average grant date fair value per share&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;129.38&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;129.47&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;35.79&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Assumptions:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Expected stock price volatility&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;38&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;37&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;32&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Risk free interest rate&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1.54&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;0.45&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1.56&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Expected annual dividend per share&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Expected life of options (years)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;6.25&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;6.25&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;6.25&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;A summary of the Company&#x2019;s stock option activity and related information for the years ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt; is as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Number of Options&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted-Average Exercise Price&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted-Average Remaining Contractual Term (in years)&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Aggregate Intrinsic Value ($ in thousands)&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 48%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Outstanding as of December 31, 2019&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,592,686&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;42.04&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;6.9&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;93,242&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Granted&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;173,650&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;102.32&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Exercised&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(216,196&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;39.88&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Forfeited&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(21,450&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;50.25&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Outstanding as of December 31, 2020&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,528,690&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;49.08&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;6.3&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;272,553&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Granted&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;70,392&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;335.70&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Exercised&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(229,921&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;45.95&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Forfeited&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(27,030&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;63.27&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Outstanding as of December 31, 2021&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,342,131&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;64.29&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;5.5&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;386,069&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Granted&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;109,266&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;282.20&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Exercised&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(137,305&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;36.91&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Forfeited&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(45,688&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;194.05&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Outstanding as of December 31, 2022&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"&gt;1,268,404&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;81.35&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;4.9&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;47,764&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Exercisable as of December 31, 2022&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;982,934&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;50.86&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;4.1&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;44,904&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;As of &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;, there was $16,098&#160;of total unrecognized compensation cost, net of expected forfeitures, related to unvested options. The cost is expected to be recognized over the remaining service period, having a weighted-average period of 2.8&#160;years. Total share-based compensation cost related to&#160;stock options for the years ended &lt;em style="font: inherit;"&gt; December 31,&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt; was $6,911, $6,462, and $5,860, respectively, which is recorded in operating expenses in the consolidated statements of comprehensive income.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&lt;b&gt;Restricted Stock&lt;/b&gt; &#x2013; Restricted stock awards vest in equal installments over &lt;span style="-sec-ix-hidden:c93265161"&gt;three&lt;/span&gt; years, subject to the grantee&#x2019;s continued employment or service. Certain restricted stock awards also include performance shares, whereby the number of performance shares that can be earned are contingent upon Company performance measures over a &lt;span style="-sec-ix-hidden:c93265162"&gt;three&lt;/span&gt;-year period. Performance measures are based on a weighting of a number of financial metrics, from which grantees &lt;em style="font: inherit;"&gt; may &lt;/em&gt;earn from 0% to 200% of their target performance share award. The&#160;performance period for the &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&#160;awards covers the years &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;&#160;through &lt;em style="font: inherit;"&gt;2022,&lt;/em&gt;&#160;the performance period for the &lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&#160;awards covers the years &lt;em style="font: inherit;"&gt;2021&lt;/em&gt;&#160;through &lt;em style="font: inherit;"&gt;2023,&lt;/em&gt; and the performance period for the &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&#160;awards covers the years &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;&#160;through &lt;em style="font: inherit;"&gt;2024.&lt;/em&gt;&#160;The Company estimates the number of performance shares that will vest based on projected financial performance. The fair value of restricted awards is determined based on the market value of the Company's shares on the grant date. The fair market value of the restricted awards at the time of the grant is amortized to expense over the period of vesting. The compensation expense recognized for restricted share awards is net of estimated forfeitures and is trued up upon vesting based on actual forfeiture activity.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;Restricted stock vesting is net-share settled such that, upon vesting, the Company withholds shares with value equivalent to the employees&#x2019; minimum statutory tax obligation, and then pays the cash to the taxing authorities on behalf of the employees. In effect, the Company repurchases these shares and classifies them as treasury stock. Total shares withheld were 92,008, 80,583, and 70,718&#160;for the years ended &lt;em style="font: inherit;"&gt; December 31,&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively, and were based on the value of the stock on the vesting dates. Total payments made by the Company to the taxing authorities for the employees&#x2019; tax obligations related to restricted stock vesting&#160;were $26,834, $27,223, and $7,613&#160;for the years ended &lt;em style="font: inherit;"&gt; December 31,&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively, and are reflected as a financing activity within the consolidated statements of cash flows.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;


   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;A summary of the Company's restricted stock activity for the years ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt; is as follows:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Shares&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted-Average Grant-Date Fair Value&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Non-vested as of December 31, 2019&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;491,637&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;52.84&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Granted&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;183,868&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;95.14&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Vested&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(200,390&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;45.10&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Forfeited&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(18,921&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;56.58&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Non-vested as of December 31, 2020&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;456,194&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;68.42&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Granted&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;126,339&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;223.09&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Vested&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(202,327&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;58.99&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Forfeited&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(14,241&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;138.64&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Non-vested as of December 31, 2021&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;365,965&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;124.25&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Granted&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;287,821&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;214.58&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Vested&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(234,284&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;83.52&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Forfeited&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;"&gt;(41,204&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;263.47&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Non-vested as of December 31, 2022&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;378,298&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&lt;em style="font: inherit;"&gt;203.04&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;As of &lt;em style="font: inherit;"&gt; December 31, 2022&lt;/em&gt;, there was $48,934&#160;of unrecognized compensation cost, net of expected forfeitures, related to non-vested restricted stock awards. That cost is expected to be recognized over the remaining service period, having a weighted-average period of 2.1&#160;years. Total share-based compensation cost related to the restricted stock for the years ended &lt;em style="font: inherit;"&gt; December 31,&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, inclusive of performance shares, was $22,570, $17,492, and $15,022, respectively, which is recorded in operating expenses in the consolidated statements of comprehensive income.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;During &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, 8,572, 4,677, and 15,275&#160;shares of stock, respectively,&#160;were granted to certain members of the Company&#x2019;s Board of Directors as a component of their compensation for their service on the Board, all of which&#160;were fully vested at time of grant. A non-employee director&#160;can elect to receive his or her director fees in the form of deferred stock units, which voluntarily defers the issuance of the related shares granted until the director separates from the Company or a triggering event occurs. 5,008, 3,160, and 10,528&#160;of deferred stock units are included in the shares of stock granted to certain members of the Company&#x2019;s Board of Directors for the years &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, &lt;em style="font: inherit;"&gt;2021&lt;/em&gt;, and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;, respectively. Total share-based compensation cost for these share grants in &lt;em style="font: inherit;"&gt;2022&lt;/em&gt;, &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt; was $1,886, $1,579, and $1,558, respectively, which is recorded in operating expenses in the consolidated statements of comprehensive income.&lt;/p&gt;
  </us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i_2010-02-10"
      decimals="-5"
      id="c93265094"
      unitRef="Share">9100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-12-31_PlanNameAxis-EquityIncentivePlanPlanMember"
      decimals="-3"
      id="c93265098"
      unitRef="USD">2379000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-01-01_2021-12-31_PlanNameAxis-EquityIncentivePlanPlanMember"
      decimals="-3"
      id="c93265099"
      unitRef="USD">6249000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2020-01-01_2020-12-31_PlanNameAxis-EquityIncentivePlanPlanMember"
      decimals="-3"
      id="c93265100"
      unitRef="USD">11681000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i_2019-06-13_PlanNameAxis-The2019EquityIncentivePlanMember"
      decimals="-5"
      id="c93265107"
      unitRef="Share">2700000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-12-31_PlanNameAxis-The2019EquityIncentivePlanMember"
      decimals="-3"
      id="c93265112"
      unitRef="USD">27102000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-01-01_2021-12-31_PlanNameAxis-The2019EquityIncentivePlanMember"
      decimals="-3"
      id="c93265113"
      unitRef="USD">17705000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2020-01-01_2020-12-31_PlanNameAxis-The2019EquityIncentivePlanMember"
      decimals="-3"
      id="c93265114"
      unitRef="USD">9201000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="d_2022-01-01_2022-12-31_RangeAxis-MinimumMember"
      decimals="INF"
      id="c93265118"
      unitRef="USDPerShare">103.50</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="d_2022-01-01_2022-12-31_RangeAxis-MaximumMember"
      decimals="INF"
      id="c93265119"
      unitRef="USDPerShare">315.88</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="d_2021-01-01_2021-12-31_RangeAxis-MinimumMember"
      decimals="INF"
      id="c93265121"
      unitRef="USDPerShare">323.66</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="d_2021-01-01_2021-12-31_RangeAxis-MaximumMember"
      decimals="INF"
      id="c93265122"
      unitRef="USDPerShare">438.83</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="d_2020-01-01_2020-12-31_RangeAxis-MinimumMember"
      decimals="INF"
      id="c93265124"
      unitRef="USDPerShare">91.00</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="d_2020-01-01_2020-12-31_RangeAxis-MaximumMember"
      decimals="INF"
      id="c93265125"
      unitRef="USDPerShare">158.89</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c93265128"
      unitRef="Share">17376</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c93265129"
      unitRef="Share">8608</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c93265130"
      unitRef="Share">24070</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="-3"
      id="c93265134"
      unitRef="USD">13786000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="-3"
      id="c93265135"
      unitRef="USD">38787000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="-3"
      id="c93265136"
      unitRef="USD">13089000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="-3"
      id="c93265140"
      unitRef="USD">14089000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="-4"
      id="c93265141"
      unitRef="USD">31680000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="-3"
      id="c93265142"
      unitRef="USD">7297000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284716">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; width: 90%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="10" rowspan="1" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&lt;b&gt;Year Ended December 31,&lt;/b&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;b&gt;2020&lt;/b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 49%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Weighted average grant date fair value per share&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;129.38&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;129.47&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;35.79&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Assumptions:&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Expected stock price volatility&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;38&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;37&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;32&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Risk free interest rate&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1.54&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;0.45&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1.56&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;%&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Expected annual dividend per share&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Expected life of options (years)&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;6.25&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;6.25&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;6.25&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c93265215"
      unitRef="USDPerShare">129.38</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c93265216"
      unitRef="USDPerShare">129.47</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c93265217"
      unitRef="USDPerShare">35.79</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="2"
      id="c93265219"
      unitRef="Pure">0.38</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="2"
      id="c93265220"
      unitRef="Pure">0.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="2"
      id="c93265221"
      unitRef="Pure">0.32</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="4"
      id="c93265222"
      unitRef="Pure">0.0154</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="4"
      id="c93265223"
      unitRef="Pure">0.0045</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="4"
      id="c93265224"
      unitRef="Pure">0.0156</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <gnrc:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare
      contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c93265225"
      unitRef="USDPerShare">0</gnrc:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare>
    <gnrc:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare
      contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c93265226"
      unitRef="USDPerShare">0</gnrc:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare>
    <gnrc:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare
      contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="INF"
      id="c93265227"
      unitRef="USDPerShare">0</gnrc:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      id="c93265228">P6Y3M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      id="c93265229">P6Y3M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      id="c93265230">P6Y3M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284717">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Number of Options&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted-Average Exercise Price&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted-Average Remaining Contractual Term (in years)&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Aggregate Intrinsic Value ($ in thousands)&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 48%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Outstanding as of December 31, 2019&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,592,686&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;42.04&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;6.9&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;93,242&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Granted&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;173,650&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;102.32&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Exercised&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(216,196&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;39.88&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Forfeited&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(21,450&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;50.25&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Outstanding as of December 31, 2020&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,528,690&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;49.08&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;6.3&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;272,553&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Granted&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;70,392&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;335.70&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Exercised&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(229,921&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;45.95&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Forfeited&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(27,030&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;63.27&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Outstanding as of December 31, 2021&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,342,131&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;64.29&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;5.5&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;386,069&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Granted&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;109,266&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;282.20&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Exercised&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(137,305&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;36.91&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Forfeited&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(45,688&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;194.05&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&lt;em style="font: inherit;"&gt;&#160;&lt;/em&gt;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Outstanding as of December 31, 2022&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 3px double black;"&gt;1,268,404&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;81.35&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;4.9&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;47,764&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Exercisable as of December 31, 2022&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;982,934&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;50.86&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;4.1&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&lt;em style="font: inherit;"&gt;44,904&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i_2019-12-31"
      decimals="INF"
      id="c93265235"
      unitRef="Share">1592686</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i_2019-12-31"
      decimals="INF"
      id="c93265236"
      unitRef="USDPerShare">42.04</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="d_2019-01-01_2019-12-31" id="c93265237">P6Y10M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i_2019-12-31"
      decimals="-3"
      id="c93265238"
      unitRef="USD">93242000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93265239"
      unitRef="Share">173650</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93265240"
      unitRef="USDPerShare">102.32</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93265243"
      unitRef="Share">216196</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93265244"
      unitRef="USDPerShare">39.88</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93265247"
      unitRef="Share">21450</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93265248"
      unitRef="USDPerShare">50.25</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i_2020-12-31"
      decimals="INF"
      id="c93265251"
      unitRef="Share">1528690</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i_2020-12-31"
      decimals="INF"
      id="c93265252"
      unitRef="USDPerShare">49.08</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="d_2020-01-01_2020-12-31" id="c93265253">P6Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i_2020-12-31"
      decimals="-3"
      id="c93265254"
      unitRef="USD">272553000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93265255"
      unitRef="Share">70392</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93265256"
      unitRef="USDPerShare">335.70</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93265259"
      unitRef="Share">229921</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93265260"
      unitRef="USDPerShare">45.95</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93265263"
      unitRef="Share">27030</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93265264"
      unitRef="USDPerShare">63.27</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i_2021-12-31"
      decimals="INF"
      id="c93265267"
      unitRef="Share">1342131</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i_2021-12-31"
      decimals="INF"
      id="c93265268"
      unitRef="USDPerShare">64.29</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="d_2021-01-01_2021-12-31" id="c93265269">P5Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i_2021-12-31"
      decimals="-3"
      id="c93265270"
      unitRef="USD">386069000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93265271"
      unitRef="Share">109266</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93265272"
      unitRef="USDPerShare">282.20</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93265275"
      unitRef="Share">137305</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93265276"
      unitRef="USDPerShare">36.91</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93265279"
      unitRef="Share">45688</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93265280"
      unitRef="USDPerShare">194.05</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i_2022-12-31"
      decimals="INF"
      id="c93265283"
      unitRef="Share">1268404</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i_2022-12-31"
      decimals="INF"
      id="c93265284"
      unitRef="USDPerShare">81.35</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="d_2022-01-01_2022-12-31" id="c93265285">P4Y10M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i_2022-12-31"
      decimals="-3"
      id="c93265286"
      unitRef="USD">47764000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="i_2022-12-31"
      decimals="INF"
      id="c93265287"
      unitRef="Share">982934</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i_2022-12-31"
      decimals="INF"
      id="c93265288"
      unitRef="USDPerShare">50.86</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="-3"
      id="c93265153"
      unitRef="USD">16098000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      id="c93265154">P2Y9M18D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="-3"
      id="c93265158"
      unitRef="USD">6911000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="-3"
      id="c93265159"
      unitRef="USD">6462000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-EmployeeStockOptionMember"
      decimals="-4"
      id="c93265160"
      unitRef="USD">5860000</us-gaap:AllocatedShareBasedCompensationExpense>
    <gnrc:PerformanceShareAwardPercentage
      contextRef="i_2022-12-31_RangeAxis-MinimumMember"
      decimals="-3"
      id="c93265163"
      unitRef="Pure">0</gnrc:PerformanceShareAwardPercentage>
    <gnrc:PerformanceShareAwardPercentage
      contextRef="i_2022-12-31_RangeAxis-MaximumMember"
      decimals="0"
      id="c93265164"
      unitRef="Pure">2</gnrc:PerformanceShareAwardPercentage>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c93265174"
      unitRef="Share">92008</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c93265175"
      unitRef="Share">80583</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c93265176"
      unitRef="Share">70718</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-RestrictedStockMember"
      decimals="-3"
      id="c93265180"
      unitRef="USD">26834000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-RestrictedStockMember"
      decimals="-3"
      id="c93265181"
      unitRef="USD">27223000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-RestrictedStockMember"
      decimals="-3"
      id="c93265182"
      unitRef="USD">7613000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284718">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Shares&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Weighted-Average Grant-Date Fair Value&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 64%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Non-vested as of December 31, 2019&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;491,637&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;52.84&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Granted&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;183,868&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;95.14&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Vested&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(200,390&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;45.10&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Forfeited&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(18,921&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;56.58&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Non-vested as of December 31, 2020&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;456,194&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;68.42&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Granted&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;126,339&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;223.09&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Vested&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(202,327&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;58.99&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 9pt;"&gt;Forfeited&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(14,241&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;138.64&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Non-vested as of December 31, 2021&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;365,965&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;124.25&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Granted&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;287,821&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;214.58&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Vested&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(234,284&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;83.52&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt 0pt 0pt 9pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Forfeited&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0px; margin: 0px; border-bottom: 1px solid black;"&gt;(41,204&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;263.47&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Non-vested as of December 31, 2022&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;378,298&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&lt;em style="font: inherit;"&gt;203.04&lt;/em&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i_2019-12-31"
      decimals="INF"
      id="c93265293"
      unitRef="Share">491637</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i_2019-12-31"
      decimals="INF"
      id="c93265294"
      unitRef="USDPerShare">52.84</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93265295"
      unitRef="Share">183868</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93265296"
      unitRef="USDPerShare">95.14</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93265297"
      unitRef="Share">200390</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93265298"
      unitRef="USDPerShare">45.10</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93265299"
      unitRef="Share">18921</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="d_2020-01-01_2020-12-31"
      decimals="INF"
      id="c93265300"
      unitRef="USDPerShare">56.58</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i_2020-12-31"
      decimals="INF"
      id="c93265301"
      unitRef="Share">456194</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i_2020-12-31"
      decimals="INF"
      id="c93265302"
      unitRef="USDPerShare">68.42</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93265303"
      unitRef="Share">126339</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93265304"
      unitRef="USDPerShare">223.09</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93265305"
      unitRef="Share">202327</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93265306"
      unitRef="USDPerShare">58.99</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93265307"
      unitRef="Share">14241</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="d_2021-01-01_2021-12-31"
      decimals="INF"
      id="c93265308"
      unitRef="USDPerShare">138.64</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i_2021-12-31"
      decimals="INF"
      id="c93265309"
      unitRef="Share">365965</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i_2021-12-31"
      decimals="INF"
      id="c93265310"
      unitRef="USDPerShare">124.25</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93265311"
      unitRef="Share">287821</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93265312"
      unitRef="USDPerShare">214.58</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93265313"
      unitRef="Share">234284</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93265314"
      unitRef="USDPerShare">83.52</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93265315"
      unitRef="Share">41204</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="d_2022-01-01_2022-12-31"
      decimals="INF"
      id="c93265316"
      unitRef="USDPerShare">263.47</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i_2022-12-31"
      decimals="INF"
      id="c93265317"
      unitRef="Share">378298</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i_2022-12-31_AwardTypeAxis-RestrictedStockMember"
      decimals="-3"
      id="c93265189"
      unitRef="USD">48934000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-RestrictedStockMember"
      id="c93265190">P2Y1M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-01-01_2022-12-31_AwardTypeAxis-RestrictedStockAndPerformanceSharesMember"
      decimals="-4"
      id="c93265194"
      unitRef="USD">22570000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-01-01_2021-12-31_AwardTypeAxis-RestrictedStockAndPerformanceSharesMember"
      decimals="-3"
      id="c93265195"
      unitRef="USD">17492000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2020-01-01_2020-12-31_AwardTypeAxis-RestrictedStockAndPerformanceSharesMember"
      decimals="-3"
      id="c93265196"
      unitRef="USD">15022000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued
      contextRef="d_2022-01-01_2022-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember"
      decimals="INF"
      id="c93265200"
      unitRef="Share">8572</us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued>
    <us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued
      contextRef="d_2021-01-01_2021-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember"
      decimals="INF"
      id="c93265201"
      unitRef="Share">4677</us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued>
    <us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued
      contextRef="d_2020-01-01_2020-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember"
      decimals="INF"
      id="c93265202"
      unitRef="Share">15275</us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued>
    <gnrc:DeferredCompensationArrangementWithIndividualSharesGranted
      contextRef="d_2022-01-01_2022-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember"
      decimals="INF"
      id="c93265203"
      unitRef="Share">5008</gnrc:DeferredCompensationArrangementWithIndividualSharesGranted>
    <gnrc:DeferredCompensationArrangementWithIndividualSharesGranted
      contextRef="d_2021-01-01_2021-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember"
      decimals="INF"
      id="c93265204"
      unitRef="Share">3160</gnrc:DeferredCompensationArrangementWithIndividualSharesGranted>
    <gnrc:DeferredCompensationArrangementWithIndividualSharesGranted
      contextRef="d_2020-01-01_2020-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember"
      decimals="INF"
      id="c93265205"
      unitRef="Share">10528</gnrc:DeferredCompensationArrangementWithIndividualSharesGranted>
    <us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense
      contextRef="d_2022-01-01_2022-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember"
      decimals="-3"
      id="c93265212"
      unitRef="USD">1886000</us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense>
    <us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense
      contextRef="d_2021-01-01_2021-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember"
      decimals="-3"
      id="c93265213"
      unitRef="USD">1579000</us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense>
    <us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense
      contextRef="d_2020-01-01_2020-12-31_TitleOfIndividualAxis-BoardOfDirectorsChairmanMember"
      decimals="-3"
      id="c93265214"
      unitRef="USD">1558000</us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284719">
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width: 22px; vertical-align: top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"&gt;&lt;b&gt;&lt;a href="#" id="commncon" title="commncon"/&gt;&lt;em style="font: inherit;"&gt;18.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align: top; width: 1953px;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"&gt;&lt;b&gt;Commitments and Contingencies&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;The Company has an arrangement with a finance company to provide floor plan financing for certain dealers. The Company receives payment from the finance company after shipment of product to the dealer. The Company participates in the cost of dealer financing up to certain limits and has agreed to repurchase products repossessed by the finance company, but does &lt;em style="font: inherit;"&gt;not&lt;/em&gt; indemnify the finance company for any credit losses they incur. The amount financed by dealers which remained outstanding under this arrangement at &lt;em style="font: inherit;"&gt; December 31, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; was approximately $212,200&#160;and $115,900, respectively.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"&gt;On &lt;em style="font: inherit;"&gt; August 1, 2022, &lt;/em&gt;Power Home Solar, LLC d/b/a Pink Energy filed a lawsuit in the Western District of Virginia against Generac Power Systems, Inc., a wholly-owned subsidiary of the Company&#160;(&#x201c;Generac Power&#x201d;).&#160;The complaint alleges breaches of warranty, product liability, and other various causes of action against Generac Power relating to the sale and performance of certain clean energy equipment and seeks to recover damages, including consequential damages, that Power Home Solar allegedly incurred.&#160;The Company&#160;disputes the allegations in the complaint, including that Power Home Solar can seek consequential damages or amounts greater than the $25,000&#160;liability cap set forth in the agreement between the parties. On &lt;em style="font: inherit;"&gt; September 23, 2022, &lt;/em&gt;Generac Power moved to dismiss the complaint and compel arbitration consistent with the parties&#x2019; agreement.&#160;On &lt;em style="font: inherit;"&gt; October 7, 2022, &lt;/em&gt;Power Home Solar, LLC filed a Chapter &lt;em style="font: inherit;"&gt;7&lt;/em&gt; bankruptcy petition in the Western District of North Carolina that identified Generac Power&#160;as &lt;em style="font: inherit;"&gt;one&lt;/em&gt; of its&#160;outstanding creditors.&#160; The petition listed a $17,700 liability to Generac Power, which Power Home Solar characterized as disputed.&#160;The $17,700&#160;claim relates to equipment that Generac Power sold to Power Home Solar but was &lt;em style="font: inherit;"&gt;not&lt;/em&gt; paid for.&#160;The parties agreed to toll Power Home Solar&#x2019;s deadline to respond to the motion to dismiss after Power Home Solar filed the&#160;petition for bankruptcy to allow the bankruptcy trustee to evaluate the complaint.&#160;The Company&#160;intends to vigorously defend against the claims in the complaint, whichever forum in which it &lt;em style="font: inherit;"&gt; may &lt;/em&gt;proceed.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;On &lt;em style="font: inherit;"&gt; October 28, 2022, &lt;/em&gt;Daniel Haak filed a putative class action lawsuit against Generac Power in the Middle District of Florida.&#160;The complaint alleges breaches of warranty, tort-based, and unjust enrichment claims against Generac Power relating to the sale and performance of certain clean energy products, and seeks to recover damages, including consequential damages, that the plaintiff and putative class allegedly incurred.&#160;The Company disputes the allegations and intends to vigorously defend against the claims in the complaint, including that plaintiff and the putative class can seek consequential damages. Genera Power filed a motion to dismiss&#160;the complaint on &lt;em style="font: inherit;"&gt; December 28, 2022.&#160;&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;Four additional putative class actions were filed by consumers of Generac clean energy products between &lt;em style="font: inherit;"&gt; November 21, 2022 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; February 2, 2023. &lt;/em&gt;These complaints assert claims for breaches of warranty, tort-based, statutory, and unjust enrichment claims against Generac Power or the Company and seek to recover damages, including consequential damages, that plaintiffs and putative class allegedly incurred. The cases are pending in the Eastern District of Wisconsin (&lt;i&gt;Basler, et al. v. Generac Power Systems, Inc.&lt;/i&gt;, Case &lt;em style="font: inherit;"&gt;No.&lt;/em&gt; &lt;em style="font: inherit;"&gt;22&lt;/em&gt;-cv-&lt;em style="font: inherit;"&gt;01386&lt;/em&gt;-NJ and &lt;i&gt;Dillon v. Generac Power Systems, Inc.&lt;/i&gt;, Case &lt;em style="font: inherit;"&gt;No.&lt;/em&gt; &lt;em style="font: inherit;"&gt;23&lt;/em&gt;-cv-&lt;em style="font: inherit;"&gt;00034&lt;/em&gt;-NJ), the Northern District of California (&lt;i&gt;Moon v. Generac Power Systems, Inc. et al.&lt;/i&gt;, Case &lt;em style="font: inherit;"&gt;No.&lt;/em&gt; &lt;em style="font: inherit;"&gt;22&lt;/em&gt;-cv-&lt;em style="font: inherit;"&gt;09183&lt;/em&gt;-CRB), and the Eastern District of California (&lt;i&gt;Locatell v. Generac Power Systems, Inc., et al.&lt;/i&gt;, Case &lt;em style="font: inherit;"&gt;No.&lt;/em&gt; &lt;em style="font: inherit;"&gt;23&lt;/em&gt;-cv-&lt;em style="font: inherit;"&gt;00203&lt;/em&gt;-TLN). The Company disputes the allegations and intends to vigorously defend against the claims in the complaints. Generac Power&#x2019;s motion to dismiss the &lt;i&gt;Basler &lt;/i&gt;complaint is pending with the court.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;On &lt;em style="font: inherit;"&gt; December 1, 2022, &lt;/em&gt;Oakland County Voluntary Employees&#x2019; Beneficiary Association and Oakland County Employees&#x2019; Retirement System filed a putative securities class action lawsuit against the Company and certain of its officers in the Eastern District of Wisconsin. On &lt;em style="font: inherit;"&gt; January 20, 2023, &lt;/em&gt;the California Ironworkers Field Pension Trust filed a related putative securities class action, also in the United States District Court for the Eastern District of Wisconsin. Both complaints assert claims for alleged violation of federal securities law related to disclosures of quality issues in Generac&#x2019;s clean energy product, reliance on channel partners, and accounting for warranty reserves. The plaintiffs seek to represent a class of individuals who purchased or otherwise acquired common stock between &lt;em style="font: inherit;"&gt; April 29, 2021 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; November 1, 2022 &lt;/em&gt;and ask for unspecified compensatory damages and other relief on behalf of a purported class of purchasers. Motions to consolidate the putative class actions and to appoint lead plaintiff have been filed and are pending with the court. In addition, in relation to the aforementioned cases, on &lt;em style="font: inherit;"&gt; February 3, 2023, &lt;/em&gt;a purported Company shareholder filed a shareholder derivative action&#160;against certain of the Company&#x2019;s officers and directors in the United States District Court for the Eastern District of Wisconsin.&#160;The complaint seeks unspecified damages on behalf of the Company and certain other relief, such as certain reforms to corporate governance practices.&#160;The complaint (in which the Company is named as a nominal defendant) generally alleges, among other things, breaches of fiduciary duties in connection with the oversight of the Company&#x2019;s public statements and legal compliance, and that the Company was damaged as a result of the breaches of fiduciary duties, and the defendants were unjustly enriched.&#160;The complaint also alleges, among other things, violations of Sections &lt;em style="font: inherit;"&gt;14&lt;/em&gt;(a), &lt;em style="font: inherit;"&gt;10&lt;/em&gt;(b) and &lt;em style="font: inherit;"&gt;20&lt;/em&gt;(a) of the Securities Exchange Act of &lt;em style="font: inherit;"&gt;1934,&lt;/em&gt; abuse of control, gross mismanagement, and waste of corporate assets.&#160;The Company disputes the allegations and intends to vigorously defend against the claims in the complaint.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;On &lt;em style="font: inherit;"&gt; October 28, 2022, &lt;/em&gt;Generac Power received a grand jury subpoena from the U.S. Attorney for the Eastern District of Michigan, as a result of which the Company became aware of an enforcement investigation by the U.S. Department of Justice (&#x201c;DOJ&#x201d;).&#160;The subpoena requests similar documents and information provided by the Company to the U.S. EPA and the CARB in response to civil document requests related to the Company&#x2019;s compliance with emissions regulations for approximately &lt;em style="font: inherit;"&gt;1,850&lt;/em&gt; portable generators produced by the Company in &lt;em style="font: inherit;"&gt;2019&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt; and sold in &lt;em style="font: inherit;"&gt;2020.&lt;/em&gt; The Company is cooperating with both the DOJ and the EPA and CARB inquiries.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;On &lt;em style="font: inherit;"&gt; November 30, 2022, &lt;/em&gt;the CPSC&#160;notified the Company of its intention to recommend the imposition of a penalty for failing to timely submit a report under section &lt;em style="font: inherit;"&gt;19&lt;/em&gt;(a)(&lt;em style="font: inherit;"&gt;4&lt;/em&gt;) of the CPSA, &lt;em style="font: inherit;"&gt;15&lt;/em&gt; U.S.C. &#xa7; &lt;em style="font: inherit;"&gt;2068&lt;/em&gt;(a)(&lt;em style="font: inherit;"&gt;4&lt;/em&gt;), in relation to certain portable generators that were subject to a voluntary recall previously announced on &lt;em style="font: inherit;"&gt; July 29, 2021.&#160;&lt;/em&gt;Although the Company is cooperating with the CPSC on this matter, the matter is unresolved and still pending ongoing discussion with the CPSC.&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;"&gt;In the opinion of management, it is presently unlikely that any legal or regulatory proceedings pending against or involving the Company will have a material adverse effect on the Company&#x2019;s financial condition, results of operations or cash flows. However, in many of these matters, it is inherently difficult to determine whether a loss is probable&#160;or to estimate the size or range of the possible loss given the variety and potential outcomes of actual and potential claims, the uncertainty of future rulings, the behavior or incentives of adverse parties, and other factors outside the control of the Company. Accordingly, the Company&#x2019;s loss reserves &lt;em style="font: inherit;"&gt; may &lt;/em&gt;change from time to time, and actual losses could exceed the amounts reserved by an amount that could be material to the Company&#x2019;s consolidated financial position, results of operations or cash flows in any particular reporting period.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;

  </us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <gnrc:AmountFinancedByDealers
      contextRef="i_2022-12-31"
      decimals="-5"
      id="c93265322"
      unitRef="USD">212200000</gnrc:AmountFinancedByDealers>
    <gnrc:AmountFinancedByDealers
      contextRef="i_2021-12-31"
      decimals="-5"
      id="c93265323"
      unitRef="USD">115900000</gnrc:AmountFinancedByDealers>
    <us-gaap:LossContingencyDamagesSoughtValue
      contextRef="d_2022-08-01_2022-08-01_LitigationCaseAxis-PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember_RangeAxis-MinimumMember"
      decimals="-6"
      id="c93265324"
      unitRef="USD">25000000</us-gaap:LossContingencyDamagesSoughtValue>
    <us-gaap:AccountsReceivableGross
      contextRef="i_2022-10-07_CounterpartyNameAxis-PowerHomeSolarLlcMember_LossContingenciesByNatureOfContingencyAxis-CollectibilityOfReceivablesMember"
      decimals="-5"
      id="c93265327"
      unitRef="USD">17700000</us-gaap:AccountsReceivableGross>
    <us-gaap:AccountsReceivableGross
      contextRef="i_2022-10-07_CounterpartyNameAxis-PowerHomeSolarLlcMember_LossContingenciesByNatureOfContingencyAxis-CollectibilityOfReceivablesMember"
      decimals="-5"
      id="c93265328"
      unitRef="USD">17700000</us-gaap:AccountsReceivableGross>
    <us-gaap:QuarterlyFinancialInformationTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284720">
   &lt;p style="margin: 0pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/p&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;19.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"&gt;&lt;b&gt;Quarterly Financial Information (Unaudited)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Quarters Ended 2022&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Q1&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Q2&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Q3&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Q4&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 48%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Net sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,135,856&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,291,391&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,088,258&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,049,232&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Gross profit&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;360,748&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;456,985&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;361,104&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;343,167&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Operating income&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;154,735&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;216,844&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;87,523&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;107,228&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Net income attributable to Generac Holdings Inc.&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;113,858&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;156,359&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;58,270&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;71,015&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Net income attributable to common shareholders per common share - basic:&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1.61&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;2.24&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;0.84&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;0.84&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Net income attributable to common shareholders per common share - diluted:&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1.57&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;2.21&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;0.83&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;0.83&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="margin: 0; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Quarters Ended 2021&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Q1&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Q2&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Q3&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Q4&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 48%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Net sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;807,434&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;919,981&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;942,698&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,067,071&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Gross profit&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;321,814&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;339,735&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;335,994&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;362,539&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Operating income&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;189,124&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;182,952&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;173,579&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;175,481&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Net income attributable to Generac Holdings Inc.&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;148,993&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;127,036&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;131,570&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;142,895&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Net income attributable to common shareholders per common share - basic:&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2.39&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2.06&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1.98&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2.09&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Net income attributable to common shareholders per common share - diluted:&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2.33&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2.01&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1.93&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2.04&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

  </us-gaap:QuarterlyFinancialInformationTextBlock>
    <us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock
      contextRef="d_2022-01-01_2022-12-31"
      id="c450FC0B1-F795-44AA-B389-41AC79C5352B">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Quarters Ended 2022&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Q1&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Q2&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Q3&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Q4&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 48%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Net sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,135,856&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,291,391&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,088,258&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1,049,232&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Gross profit&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;360,748&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;456,985&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;361,104&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;343,167&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Operating income&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;154,735&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;216,844&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;87,523&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;107,228&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Net income attributable to Generac Holdings Inc.&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;113,858&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;156,359&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;58,270&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;71,015&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Net income attributable to common shareholders per common share - basic:&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1.61&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;2.24&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;0.84&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;0.84&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Net income attributable to common shareholders per common share - diluted:&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;1.57&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;2.21&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;0.83&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;0.83&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="14" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;&lt;em style="font: inherit;"&gt;Quarters Ended 2021&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Q1&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Q2&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Q3&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Q4&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 48%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Net sales&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;807,434&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;919,981&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;942,698&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,067,071&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Gross profit&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;321,814&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;339,735&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;335,994&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;362,539&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Operating income&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;189,124&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;182,952&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;173,579&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;175,481&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Net income attributable to Generac Holdings Inc.&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;148,993&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;127,036&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;131,570&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;142,895&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Net income attributable to common shareholders per common share - basic:&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2.39&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2.06&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1.98&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2.09&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Net income attributable to common shareholders per common share - diluted:&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2.33&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2.01&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1.93&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2.04&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-01-01_2022-03-31"
      decimals="-3"
      id="c93265365"
      unitRef="USD">1135856000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c93265366"
      unitRef="USD">1291391000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-07-01_2022-09-30"
      decimals="-3"
      id="c93265367"
      unitRef="USD">1088258000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2022-10-01_2022-12-31"
      decimals="-3"
      id="c93265368"
      unitRef="USD">1049232000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GrossProfit
      contextRef="d_2022-01-01_2022-03-31"
      decimals="-3"
      id="c93265369"
      unitRef="USD">360748000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c93265370"
      unitRef="USD">456985000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="d_2022-07-01_2022-09-30"
      decimals="-3"
      id="c93265371"
      unitRef="USD">361104000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="d_2022-10-01_2022-12-31"
      decimals="-3"
      id="c93265372"
      unitRef="USD">343167000</us-gaap:GrossProfit>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2022-01-01_2022-03-31"
      decimals="-3"
      id="c93265373"
      unitRef="USD">154735000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c93265374"
      unitRef="USD">216844000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2022-07-01_2022-09-30"
      decimals="-3"
      id="c93265375"
      unitRef="USD">87523000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2022-10-01_2022-12-31"
      decimals="-3"
      id="c93265376"
      unitRef="USD">107228000</us-gaap:OperatingIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-01-01_2022-03-31"
      decimals="-3"
      id="c93265377"
      unitRef="USD">113858000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-04-01_2022-06-30"
      decimals="-3"
      id="c93265378"
      unitRef="USD">156359000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-07-01_2022-09-30"
      decimals="-4"
      id="c93265379"
      unitRef="USD">58270000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-10-01_2022-12-31"
      decimals="-3"
      id="c93265380"
      unitRef="USD">71015000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2022-01-01_2022-03-31"
      decimals="INF"
      id="c93265381"
      unitRef="USDPerShare">1.61</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c93265382"
      unitRef="USDPerShare">2.24</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2022-07-01_2022-09-30"
      decimals="INF"
      id="c93265383"
      unitRef="USDPerShare">0.84</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2022-10-01_2022-12-31"
      decimals="INF"
      id="c93265384"
      unitRef="USDPerShare">0.84</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2022-01-01_2022-03-31"
      decimals="INF"
      id="c93265385"
      unitRef="USDPerShare">1.57</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2022-04-01_2022-06-30"
      decimals="INF"
      id="c93265386"
      unitRef="USDPerShare">2.21</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2022-07-01_2022-09-30"
      decimals="INF"
      id="c93265387"
      unitRef="USDPerShare">0.83</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2022-10-01_2022-12-31"
      decimals="INF"
      id="c93265388"
      unitRef="USDPerShare">0.83</us-gaap:EarningsPerShareDiluted>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-01-01_2021-03-31"
      decimals="-3"
      id="c93265397"
      unitRef="USD">807434000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c93265398"
      unitRef="USD">919981000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-07-01_2021-09-30"
      decimals="-3"
      id="c93265399"
      unitRef="USD">942698000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="d_2021-10-01_2021-12-31"
      decimals="-3"
      id="c93265400"
      unitRef="USD">1067071000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GrossProfit
      contextRef="d_2021-01-01_2021-03-31"
      decimals="-3"
      id="c93265401"
      unitRef="USD">321814000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c93265402"
      unitRef="USD">339735000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="d_2021-07-01_2021-09-30"
      decimals="-3"
      id="c93265403"
      unitRef="USD">335994000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="d_2021-10-01_2021-12-31"
      decimals="-3"
      id="c93265404"
      unitRef="USD">362539000</us-gaap:GrossProfit>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2021-01-01_2021-03-31"
      decimals="-3"
      id="c93265405"
      unitRef="USD">189124000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c93265406"
      unitRef="USD">182952000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2021-07-01_2021-09-30"
      decimals="-3"
      id="c93265407"
      unitRef="USD">173579000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2021-10-01_2021-12-31"
      decimals="-3"
      id="c93265408"
      unitRef="USD">175481000</us-gaap:OperatingIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-01-01_2021-03-31"
      decimals="-3"
      id="c93265409"
      unitRef="USD">148993000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-04-01_2021-06-30"
      decimals="-3"
      id="c93265410"
      unitRef="USD">127036000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-07-01_2021-09-30"
      decimals="-4"
      id="c93265411"
      unitRef="USD">131570000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-10-01_2021-12-31"
      decimals="-3"
      id="c93265412"
      unitRef="USD">142895000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2021-01-01_2021-03-31"
      decimals="INF"
      id="c93265413"
      unitRef="USDPerShare">2.39</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2021-04-01_2021-06-30"
      decimals="INF"
      id="c93265414"
      unitRef="USDPerShare">2.06</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2021-07-01_2021-09-30"
      decimals="INF"
      id="c93265415"
      unitRef="USDPerShare">1.98</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2021-10-01_2021-12-31"
      decimals="INF"
      id="c93265416"
      unitRef="USDPerShare">2.09</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2021-01-01_2021-03-31"
      decimals="INF"
      id="c93265417"
      unitRef="USDPerShare">2.33</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2021-04-01_2021-06-30"
      decimals="INF"
      id="c93265418"
      unitRef="USDPerShare">2.01</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2021-07-01_2021-09-30"
      decimals="INF"
      id="c93265419"
      unitRef="USDPerShare">1.93</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="d_2021-10-01_2021-12-31"
      decimals="INF"
      id="c93265420"
      unitRef="USDPerShare">2.04</us-gaap:EarningsPerShareDiluted>
    <srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284723">
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;20.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: left; font-size: 10pt;"&gt;&lt;b&gt;Valuation and Qualifying Accounts&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;For the years ended &lt;em style="font: inherit;"&gt; December 31, 2022, &lt;/em&gt;&lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt;:&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Balance at Beginning of Year&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Additions Charged to Earnings&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Additions Charged to Retained Earnings (1)&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Charges to Reserve, Net (2)&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Reserves Established for Acquisitions&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Balance at End of Year&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Year ended December 31, 2022&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Allowance for credit losses&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;12,025&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;17,966&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(2,825&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;498&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;27,664&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Reserves for inventory&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;33,537&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;9,656&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(4,737&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1,258&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;39,714&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Valuation of deferred tax assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;7,874&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;649&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(1,501&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(2,384&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;4,638&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Year ended December 31, 2021&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;"&gt;Allowance for credit losses&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;12,001&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;206&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(1,640&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,458&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;12,025&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;"&gt;Reserves for inventory&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;27,817&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;17,698&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(15,749&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;3,771&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;33,537&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;"&gt;Valuation of deferred tax assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;5,740&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,404&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(2,441&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;3,171&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;7,874&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 28%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Year ended December 31, 2020&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;"&gt;Allowance for credit losses&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;6,968&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;4,645&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,147&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(957&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;198&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;12,001&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;"&gt;Reserves for inventory&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;24,293&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;11,353&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(8,788&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;959&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;27,817&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;"&gt;Valuation of deferred tax assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;5,024&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;716&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;5,740&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"&gt;&#160;&lt;/p&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;(&lt;em style="font: inherit;"&gt;1&lt;/em&gt;)&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;Result of adopting ASU &lt;em style="font: inherit;"&gt;2016&lt;/em&gt;-&lt;em style="font: inherit;"&gt;13,&lt;/em&gt;&#160;&lt;i&gt;Financial Instruments &#x2013; Credit Losses (Topic&#160;&lt;em style="font: inherit;"&gt;326&lt;/em&gt;)&lt;/i&gt;:&#160;&lt;i&gt;Measurement of Credit Losses on Financial Instruments.&lt;/i&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:18pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width:18pt;vertical-align:top;"&gt;(&lt;em style="font: inherit;"&gt;2&lt;/em&gt;)&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;Deductions from the allowance for doubtful accounts equal accounts receivable written off against the allowance, less recoveries, as well as foreign currency translation adjustments. Deductions from the reserves for inventory excess and obsolete items equal inventory written off against the reserve as items were disposed of, as well as foreign currency translation adjustments.&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
  </srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock>
    <gnrc:ValuationAndQualifyingAccountsTableTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284724">
    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Balance at Beginning of Year&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Additions Charged to Earnings&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Additions Charged to Retained Earnings (1)&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Charges to Reserve, Net (2)&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Reserves Established for Acquisitions&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt; &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;Balance at End of Year&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Year ended December 31, 2022&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Allowance for credit losses&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;12,025&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;17,966&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(2,825&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;498&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;27,664&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Reserves for inventory&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;33,537&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;9,656&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(4,737&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;1,258&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;39,714&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt; &lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif;"&gt;Valuation of deferred tax assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;7,874&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;649&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(1,501&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;(2,384&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;4,638&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Year ended December 31, 2021&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;"&gt;Allowance for credit losses&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;12,001&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;206&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(1,640&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,458&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;12,025&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;"&gt;Reserves for inventory&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;27,817&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;17,698&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(15,749&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;3,771&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;33,537&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;"&gt;Valuation of deferred tax assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;5,740&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,404&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(2,441&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;3,171&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;7,874&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 28%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt;"&gt;Year ended December 31, 2020&lt;/p&gt; &lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;"&gt;Allowance for credit losses&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;6,968&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;4,645&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,147&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(957&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;198&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;12,001&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;"&gt;Reserves for inventory&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;24,293&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;11,353&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(8,788&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;959&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;27,817&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"&gt;&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin: 0pt; text-indent: 9pt;"&gt;Valuation of deferred tax assets&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;5,024&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;716&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;-&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;5,740&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </gnrc:ValuationAndQualifyingAccountsTableTextBlock>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i_2021-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"
      decimals="-3"
      id="c93265436"
      unitRef="USD">12025000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"
      decimals="-3"
      id="c93265437"
      unitRef="USD">17966000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts
      contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"
      decimals="-3"
      id="c93265438"
      unitRef="USD">0</us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts>
    <us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease
      contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"
      decimals="-3"
      id="c93265439"
      unitRef="USD">-2825000</us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease>
    <gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired
      contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"
      decimals="-3"
      id="c93265440"
      unitRef="USD">498000</gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i_2022-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"
      decimals="-3"
      id="c93265441"
      unitRef="USD">27664000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i_2021-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"
      decimals="-3"
      id="c93265442"
      unitRef="USD">33537000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"
      decimals="-3"
      id="c93265443"
      unitRef="USD">9656000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts
      contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"
      decimals="-3"
      id="c93265444"
      unitRef="USD">0</us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts>
    <us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease
      contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"
      decimals="-3"
      id="c93265445"
      unitRef="USD">-4737000</us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease>
    <gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired
      contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"
      decimals="-3"
      id="c93265446"
      unitRef="USD">1258000</gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i_2022-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"
      decimals="-3"
      id="c93265447"
      unitRef="USD">39714000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i_2021-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"
      decimals="-3"
      id="c93265448"
      unitRef="USD">7874000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"
      decimals="-3"
      id="c93265449"
      unitRef="USD">649000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts
      contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"
      decimals="-3"
      id="c93265450"
      unitRef="USD">0</us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts>
    <us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease
      contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"
      decimals="-3"
      id="c93265451"
      unitRef="USD">-1501000</us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease>
    <gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired
      contextRef="d_2022-01-01_2022-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"
      decimals="-3"
      id="c93265452"
      unitRef="USD">-2384000</gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i_2022-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"
      decimals="-3"
      id="c93265453"
      unitRef="USD">4638000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i_2020-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"
      decimals="-3"
      id="c93265455"
      unitRef="USD">12001000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"
      decimals="-3"
      id="c93265456"
      unitRef="USD">206000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts
      contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"
      decimals="-3"
      id="c93265457"
      unitRef="USD">0</us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts>
    <us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease
      contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"
      decimals="-4"
      id="c93265458"
      unitRef="USD">-1640000</us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease>
    <gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired
      contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"
      decimals="-3"
      id="c93265459"
      unitRef="USD">1458000</gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i_2021-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"
      decimals="-3"
      id="c93265460"
      unitRef="USD">12025000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i_2020-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"
      decimals="-3"
      id="c93265461"
      unitRef="USD">27817000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"
      decimals="-3"
      id="c93265462"
      unitRef="USD">17698000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts
      contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"
      decimals="-3"
      id="c93265463"
      unitRef="USD">0</us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts>
    <us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease
      contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"
      decimals="-3"
      id="c93265464"
      unitRef="USD">-15749000</us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease>
    <gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired
      contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"
      decimals="-3"
      id="c93265465"
      unitRef="USD">3771000</gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i_2021-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"
      decimals="-3"
      id="c93265466"
      unitRef="USD">33537000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i_2020-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"
      decimals="-4"
      id="c93265467"
      unitRef="USD">5740000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"
      decimals="-3"
      id="c93265468"
      unitRef="USD">1404000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts
      contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"
      decimals="-3"
      id="c93265469"
      unitRef="USD">0</us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts>
    <us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease
      contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"
      decimals="-3"
      id="c93265470"
      unitRef="USD">-2441000</us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease>
    <gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired
      contextRef="d_2021-01-01_2021-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"
      decimals="-3"
      id="c93265471"
      unitRef="USD">3171000</gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i_2021-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"
      decimals="-3"
      id="c93265472"
      unitRef="USD">7874000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i_2019-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"
      decimals="-3"
      id="c93265474"
      unitRef="USD">6968000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"
      decimals="-3"
      id="c93265475"
      unitRef="USD">4645000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts
      contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"
      decimals="-3"
      id="c93265476"
      unitRef="USD">1147000</us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts>
    <us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease
      contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"
      decimals="-3"
      id="c93265477"
      unitRef="USD">-957000</us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease>
    <gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired
      contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"
      decimals="-3"
      id="c93265478"
      unitRef="USD">198000</gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i_2020-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember"
      decimals="-3"
      id="c93265479"
      unitRef="USD">12001000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i_2019-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"
      decimals="-3"
      id="c93265480"
      unitRef="USD">24293000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"
      decimals="-3"
      id="c93265481"
      unitRef="USD">11353000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts
      contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"
      decimals="-3"
      id="c93265482"
      unitRef="USD">0</us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts>
    <us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease
      contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"
      decimals="-3"
      id="c93265483"
      unitRef="USD">-8788000</us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease>
    <gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired
      contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"
      decimals="-3"
      id="c93265484"
      unitRef="USD">959000</gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i_2020-12-31_ValuationAllowancesAndReservesTypeAxis-InventoryValuationReserveMember"
      decimals="-3"
      id="c93265485"
      unitRef="USD">27817000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i_2019-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"
      decimals="-3"
      id="c93265486"
      unitRef="USD">5024000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"
      decimals="-3"
      id="c93265487"
      unitRef="USD">716000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts
      contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"
      decimals="-3"
      id="c93265488"
      unitRef="USD">0</us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts>
    <us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease
      contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"
      decimals="-3"
      id="c93265489"
      unitRef="USD">0</us-gaap:ValuationAllowancesAndReservesPeriodIncreaseDecrease>
    <gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired
      contextRef="d_2020-01-01_2020-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"
      decimals="-3"
      id="c93265490"
      unitRef="USD">0</gnrc:SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i_2020-12-31_ValuationAllowancesAndReservesTypeAxis-ValuationAllowanceOfDeferredTaxAssetsMember"
      decimals="-4"
      id="c93265491"
      unitRef="USD">5740000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:SubsequentEventsTextBlock contextRef="d_2022-01-01_2022-12-31" id="c2284725">
   &lt;table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:'Times New Roman', Times, serif;font-size:10pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width:18pt;vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;&lt;em style="font: inherit;"&gt;21.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="vertical-align:top;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; margin: 0pt; text-align: justify; font-size: 10pt;"&gt;&lt;b&gt;Subsequent Events&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;On &lt;em style="font: inherit;"&gt; February 1, 2023&#160;&lt;/em&gt;the Company acquired REFU Storage Systems (REFUstor), headquartered in Pfullingen, Germany&lt;span style="color:#000000;"&gt;.&#160;&lt;/span&gt;REFUstor is a developer and supplier of battery storage hardware products, advanced software, and platform services for the commercial and industrial market.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"&gt;&#160;&lt;/p&gt;

  </us-gaap:SubsequentEventsTextBlock>
    <dei:AuditorName contextRef="d_2022-01-01_2022-12-31">Deloitte &amp; Touche LLP</dei:AuditorName>
    <dei:AuditorFirmId contextRef="d_2022-01-01_2022-12-31">34</dei:AuditorFirmId>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#c93264536"
          xlink:label="c93264536"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264537"
          xlink:label="c93264537"
          xlink:type="locator"/>
        <link:footnote id="f5e016294-150a-4ae5-a727-025b102a81a0" xlink:label="f5e016294-150a-4ae5-a727-025b102a81a0" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Recorded in the operating lease and other long-term liabilities line within the consolidated balance sheets</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264536"
          xlink:to="f5e016294-150a-4ae5-a727-025b102a81a0"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264537"
          xlink:to="f5e016294-150a-4ae5-a727-025b102a81a0"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93264225"
          xlink:label="c93264225"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264227"
          xlink:label="c93264227"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264226"
          xlink:label="c93264226"
          xlink:type="locator"/>
        <link:footnote id="fb18cee12-a7a4-40be-9905-5cda022cf939" xlink:label="fb18cee12-a7a4-40be-9905-5cda022cf939" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Represents the non-cash write-off of original issue discount and deferred financing costs due primarily to a voluntary prepayment of debt.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264225"
          xlink:to="fb18cee12-a7a4-40be-9905-5cda022cf939"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264227"
          xlink:to="fb18cee12-a7a4-40be-9905-5cda022cf939"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264226"
          xlink:to="fb18cee12-a7a4-40be-9905-5cda022cf939"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93263903"
          xlink:label="c93263903"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93263902"
          xlink:label="c93263902"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93263901"
          xlink:label="c93263901"
          xlink:type="locator"/>
        <link:footnote id="fc5365044-346f-4fbc-acfb-61cf69abe0c9" xlink:label="fc5365044-346f-4fbc-acfb-61cf69abe0c9" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Includes additional intangible amortization from the effect of all acquisitions as though the transactions had occurred on January 1, 2019 of $63,524, $78,840, and
$83,100 million for the years ended December 31, 2021, 2020, and 2019, respectively</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93263903"
          xlink:to="fc5365044-346f-4fbc-acfb-61cf69abe0c9"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93263902"
          xlink:to="fc5365044-346f-4fbc-acfb-61cf69abe0c9"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93263901"
          xlink:to="fc5365044-346f-4fbc-acfb-61cf69abe0c9"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93264027"
          xlink:label="c93264027"
          xlink:type="locator"/>
        <link:footnote id="f312fba7d-f4bb-49de-b685-08ef99e45ef5" xlink:label="f312fba7d-f4bb-49de-b685-08ef99e45ef5" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Represents unrealized gains of $51,352 on the interest rate swaps, net of tax effect of $(12,858) for the year ended December 31, 2022.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264027"
          xlink:to="f312fba7d-f4bb-49de-b685-08ef99e45ef5"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93264228"
          xlink:label="c93264228"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264230"
          xlink:label="c93264230"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264229"
          xlink:label="c93264229"
          xlink:type="locator"/>
        <link:footnote id="f6b84cec0-7900-429d-93ff-a2868efd6b8f" xlink:label="f6b84cec0-7900-429d-93ff-a2868efd6b8f" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Represents transaction costs incurred directly in connection with any investment, as defined in our credit agreement, equity issuance, debt issuance, or refinancing, together with certain fees relating to our senior secured credit facilities.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264228"
          xlink:to="f6b84cec0-7900-429d-93ff-a2868efd6b8f"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264230"
          xlink:to="f6b84cec0-7900-429d-93ff-a2868efd6b8f"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264229"
          xlink:to="f6b84cec0-7900-429d-93ff-a2868efd6b8f"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93264232"
          xlink:label="c93264232"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264233"
          xlink:label="c93264233"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264231"
          xlink:label="c93264231"
          xlink:type="locator"/>
        <link:footnote id="fa2c09e17-f638-4acb-8bb2-883a4c929b89" xlink:label="fa2c09e17-f638-4acb-8bb2-883a4c929b89" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">For the year-ended December 31, 2022, predominantly represents severance and other restructuring charges related to the suspension of operations at certain of our facilities. For the year-ended December 31, 2020, represents severance, non-cash asset write-downs and other charges to address the impact of the COVID-19 pandemic and decline in oil prices on demand for C&amp;I products. These charges represent expenses that are nonrecurring and do not reflect our ongoing operations.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264232"
          xlink:to="fa2c09e17-f638-4acb-8bb2-883a4c929b89"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264233"
          xlink:to="fa2c09e17-f638-4acb-8bb2-883a4c929b89"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264231"
          xlink:to="fa2c09e17-f638-4acb-8bb2-883a4c929b89"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93263643"
          xlink:label="c93263643"
          xlink:type="locator"/>
        <link:footnote id="fdeb04e65-421c-4a58-9698-0bc9e7fa5d82" xlink:label="fdeb04e65-421c-4a58-9698-0bc9e7fa5d82" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Includes payments of $16,135 in cash for the Off Grid acquisition, $47,123 in shares of common stock for the ecobee acquisition, and $542 in cash for the ecobee acquisition. The payment of common stock is accounted for as a non-cash item in the consolidated statement of cash flows.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93263643"
          xlink:to="fdeb04e65-421c-4a58-9698-0bc9e7fa5d82"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93264534"
          xlink:label="c93264534"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264535"
          xlink:label="c93264535"
          xlink:type="locator"/>
        <link:footnote id="f56eb4834-92f3-4631-b467-3701ddb41bdd" xlink:label="f56eb4834-92f3-4631-b467-3701ddb41bdd" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Recorded in the other accrued liabilities line within the consolidated balance sheets</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264534"
          xlink:to="f56eb4834-92f3-4631-b467-3701ddb41bdd"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264535"
          xlink:to="f56eb4834-92f3-4631-b467-3701ddb41bdd"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93264652"
          xlink:label="c93264652"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264650"
          xlink:label="c93264650"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264651"
          xlink:label="c93264651"
          xlink:type="locator"/>
        <link:footnote id="f31c229ae-c828-4a30-a133-512728d60f92" xlink:label="f31c229ae-c828-4a30-a133-512728d60f92" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Includes a specific warranty provision recorded during the third quarter of 2022 in the amount of $37,338 to address certain clean energy product related matters. </link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264652"
          xlink:to="f31c229ae-c828-4a30-a133-512728d60f92"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264650"
          xlink:to="f31c229ae-c828-4a30-a133-512728d60f92"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264651"
          xlink:to="f31c229ae-c828-4a30-a133-512728d60f92"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93264234"
          xlink:label="c93264234"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264235"
          xlink:label="c93264235"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264236"
          xlink:label="c93264236"
          xlink:type="locator"/>
        <link:footnote id="ff4f9bfeb-b769-416d-9ce6-aa03be128d42" xlink:label="ff4f9bfeb-b769-416d-9ce6-aa03be128d42" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Represents a specific credit loss provision of $17,926 for a clean energy product customer that filed for bankruptcy, as well as a warranty provision of $37,338 to address certain clean energy product warranty-related matters and a provision of $10,000 for a specific and unresolved regulatory matter with the Consumer Product Safety Commission.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264234"
          xlink:to="ff4f9bfeb-b769-416d-9ce6-aa03be128d42"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264235"
          xlink:to="ff4f9bfeb-b769-416d-9ce6-aa03be128d42"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264236"
          xlink:to="ff4f9bfeb-b769-416d-9ce6-aa03be128d42"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93264533"
          xlink:label="c93264533"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264532"
          xlink:label="c93264532"
          xlink:type="locator"/>
        <link:footnote id="fb5dd7e47-7023-4701-9629-66cf5eb332ba" xlink:label="fb5dd7e47-7023-4701-9629-66cf5eb332ba" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Recorded in the operating lease and other assets line within the consolidated balance sheets</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264533"
          xlink:to="fb5dd7e47-7023-4701-9629-66cf5eb332ba"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264532"
          xlink:to="fb5dd7e47-7023-4701-9629-66cf5eb332ba"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93263623"
          xlink:label="c93263623"
          xlink:type="locator"/>
        <link:footnote id="f2cf9cef8-7dc5-4f1c-8b0d-89ab34ba0b9b" xlink:label="f2cf9cef8-7dc5-4f1c-8b0d-89ab34ba0b9b" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Includes a specific credit loss provision of $17,926 recorded during the third quarter of 2022 for a clean energy product customer that filed for bankruptcy.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93263623"
          xlink:to="f2cf9cef8-7dc5-4f1c-8b0d-89ab34ba0b9b"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93263756"
          xlink:label="c93263756"
          xlink:type="locator"/>
        <link:footnote id="f7c254218-9ef7-400c-8496-e4d14cacfca4" xlink:label="f7c254218-9ef7-400c-8496-e4d14cacfca4" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us"> 	Payable on the third business day after December 31, 2023.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93263756"
          xlink:to="f7c254218-9ef7-400c-8496-e4d14cacfca4"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93265055"
          xlink:label="c93265055"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93265056"
          xlink:label="c93265056"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93265057"
          xlink:label="c93265057"
          xlink:type="locator"/>
        <link:footnote id="fba5d46e3-9355-4452-bfc1-77d763b7aaff" xlink:label="fba5d46e3-9355-4452-bfc1-77d763b7aaff" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">With the adoption of ASU 2016-09 in 2017, excess tax benefits from equity awards are reflected within the provision for income taxes rather than within the consolidated balance sheet.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265055"
          xlink:to="fba5d46e3-9355-4452-bfc1-77d763b7aaff"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265056"
          xlink:to="fba5d46e3-9355-4452-bfc1-77d763b7aaff"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265057"
          xlink:to="fba5d46e3-9355-4452-bfc1-77d763b7aaff"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93264222"
          xlink:label="c93264222"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264223"
          xlink:label="c93264223"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264224"
          xlink:label="c93264224"
          xlink:type="locator"/>
        <link:footnote id="f5469e934-4b9c-4cd7-b312-876268feebe2" xlink:label="f5469e934-4b9c-4cd7-b312-876268feebe2" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Represents share-based compensation expense to account for stock options, restricted stock and other stock awards over their respective vesting periods.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264222"
          xlink:to="f5469e934-4b9c-4cd7-b312-876268feebe2"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264223"
          xlink:to="f5469e934-4b9c-4cd7-b312-876268feebe2"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264224"
          xlink:to="f5469e934-4b9c-4cd7-b312-876268feebe2"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93264052"
          xlink:label="c93264052"
          xlink:type="locator"/>
        <link:footnote id="f49b0d742-1259-449e-818b-eec6501a3d26" xlink:label="f49b0d742-1259-449e-818b-eec6501a3d26" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Represents unrealized gains of $27,462 on the interest rate swaps, net of tax effect of $(6,933) for the year ended December 31, 2021.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264052"
          xlink:to="f49b0d742-1259-449e-818b-eec6501a3d26"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93264220"
          xlink:label="c93264220"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264221"
          xlink:label="c93264221"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264219"
          xlink:label="c93264219"
          xlink:type="locator"/>
        <link:footnote id="f8731c487-8b46-4be3-a7e0-3812d75b8753" xlink:label="f8731c487-8b46-4be3-a7e0-3812d75b8753" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Includes gains/losses on disposals of assets and sales of certain investments, unrealized mark-to-market adjustments on commodity contracts, certain foreign currency related adjustments, and certain purchase accounting and contingent consideration adjustments.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264220"
          xlink:to="f8731c487-8b46-4be3-a7e0-3812d75b8753"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264221"
          xlink:to="f8731c487-8b46-4be3-a7e0-3812d75b8753"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264219"
          xlink:to="f8731c487-8b46-4be3-a7e0-3812d75b8753"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93265444"
          xlink:label="c93265444"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93265463"
          xlink:label="c93265463"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93265438"
          xlink:label="c93265438"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93265469"
          xlink:label="c93265469"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93265488"
          xlink:label="c93265488"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93265450"
          xlink:label="c93265450"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93265482"
          xlink:label="c93265482"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93265457"
          xlink:label="c93265457"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93265476"
          xlink:label="c93265476"
          xlink:type="locator"/>
        <link:footnote id="fc2d23afd-943b-4cfc-abaf-f5e1100be847" xlink:label="fc2d23afd-943b-4cfc-abaf-f5e1100be847" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Result of adopting ASU 2016-13, Financial Instruments &#x2013; Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265444"
          xlink:to="fc2d23afd-943b-4cfc-abaf-f5e1100be847"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265463"
          xlink:to="fc2d23afd-943b-4cfc-abaf-f5e1100be847"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265438"
          xlink:to="fc2d23afd-943b-4cfc-abaf-f5e1100be847"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265469"
          xlink:to="fc2d23afd-943b-4cfc-abaf-f5e1100be847"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265488"
          xlink:to="fc2d23afd-943b-4cfc-abaf-f5e1100be847"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265450"
          xlink:to="fc2d23afd-943b-4cfc-abaf-f5e1100be847"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265482"
          xlink:to="fc2d23afd-943b-4cfc-abaf-f5e1100be847"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265457"
          xlink:to="fc2d23afd-943b-4cfc-abaf-f5e1100be847"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265476"
          xlink:to="fc2d23afd-943b-4cfc-abaf-f5e1100be847"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93264548"
          xlink:label="c93264548"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264547"
          xlink:label="c93264547"
          xlink:type="locator"/>
        <link:footnote id="f6527c6fa-3df1-4610-8118-5e423ad1b991" xlink:label="f6527c6fa-3df1-4610-8118-5e423ad1b991" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Recorded in the current portion of long-term borrowings and finance lease obligations line within the consolidated balance sheets</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264548"
          xlink:to="f6527c6fa-3df1-4610-8118-5e423ad1b991"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264547"
          xlink:to="f6527c6fa-3df1-4610-8118-5e423ad1b991"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93264893"
          xlink:label="c93264893"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264892"
          xlink:label="c93264892"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264891"
          xlink:label="c93264891"
          xlink:type="locator"/>
        <link:footnote id="f7e43a7d0-494f-43d3-ad2d-8bd4e3d489e0" xlink:label="f7e43a7d0-494f-43d3-ad2d-8bd4e3d489e0" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">There were no awards with an anti-dilutive impact for the years ended December 31, 2021, 2020 and 2019.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264893"
          xlink:to="f7e43a7d0-494f-43d3-ad2d-8bd4e3d489e0"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264892"
          xlink:to="f7e43a7d0-494f-43d3-ad2d-8bd4e3d489e0"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264891"
          xlink:to="f7e43a7d0-494f-43d3-ad2d-8bd4e3d489e0"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93264025"
          xlink:label="c93264025"
          xlink:type="locator"/>
        <link:footnote id="f74d3313c-5c99-4ce9-8cf8-3a9b2e681deb" xlink:label="f74d3313c-5c99-4ce9-8cf8-3a9b2e681deb" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Represents unfavorable impact from the strengthening of the U.S. dollar against foreign currencies during the year ended December 31, 2022, particularly the Euro and British Pound. </link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264025"
          xlink:to="f74d3313c-5c99-4ce9-8cf8-3a9b2e681deb"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93264546"
          xlink:label="c93264546"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264545"
          xlink:label="c93264545"
          xlink:type="locator"/>
        <link:footnote id="f011bb1d0-bc17-4227-9191-91f4272e6c8d" xlink:label="f011bb1d0-bc17-4227-9191-91f4272e6c8d" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Recorded in the property and equipment, net line within the consolidated balance sheets</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264546"
          xlink:to="f011bb1d0-bc17-4227-9191-91f4272e6c8d"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264545"
          xlink:to="f011bb1d0-bc17-4227-9191-91f4272e6c8d"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93263758"
          xlink:label="c93263758"
          xlink:type="locator"/>
        <link:footnote id="ff5299775-9008-4966-b5ba-7ba7f084cf55" xlink:label="ff5299775-9008-4966-b5ba-7ba7f084cf55" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Payable in common stock issued upon achievement of certain performance targets within 45 calendar days following the conclusion of the earnout period, December 31, 2025. </link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93263758"
          xlink:to="ff5299775-9008-4966-b5ba-7ba7f084cf55"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93263762"
          xlink:label="c93263762"
          xlink:type="locator"/>
        <link:footnote id="f51deb7b3-6be0-4b0c-ab16-f414b484414d" xlink:label="f51deb7b3-6be0-4b0c-ab16-f414b484414d" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">To be paid in the form of common stock issued upon achievement of certain performance targets following the end of two earnout periods, one ended June 30, 2022, and one originally ending June 30, 2023.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93263762"
          xlink:to="f51deb7b3-6be0-4b0c-ab16-f414b484414d"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93264550"
          xlink:label="c93264550"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93264549"
          xlink:label="c93264549"
          xlink:type="locator"/>
        <link:footnote id="fa332e369-de1d-4fa7-922d-b659e0772706" xlink:label="fa332e369-de1d-4fa7-922d-b659e0772706" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Recorded in the long-term borrowings and finance lease obligations line within the consolidated balance sheets</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264550"
          xlink:to="fa332e369-de1d-4fa7-922d-b659e0772706"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264549"
          xlink:to="fa332e369-de1d-4fa7-922d-b659e0772706"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93264050"
          xlink:label="c93264050"
          xlink:type="locator"/>
        <link:footnote id="fcf5dedb2-a3d0-4fd9-ad4e-023788beaa37" xlink:label="fcf5dedb2-a3d0-4fd9-ad4e-023788beaa37" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Represents unfavorable impact from the strengthening of the U.S. dollar against foreign currencies during the year ended December 31, 2021, particularly the Euro and British Pound. </link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93264050"
          xlink:to="fcf5dedb2-a3d0-4fd9-ad4e-023788beaa37"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#c93265489"
          xlink:label="c93265489"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93265464"
          xlink:label="c93265464"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93265477"
          xlink:label="c93265477"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93265439"
          xlink:label="c93265439"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93265451"
          xlink:label="c93265451"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93265445"
          xlink:label="c93265445"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93265470"
          xlink:label="c93265470"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93265458"
          xlink:label="c93265458"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#c93265483"
          xlink:label="c93265483"
          xlink:type="locator"/>
        <link:footnote id="f352124f2-3c3e-4055-8a7a-e6759e07517b" xlink:label="f352124f2-3c3e-4055-8a7a-e6759e07517b" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Deductions from the allowance for doubtful accounts equal accounts receivable written off against the allowance, less recoveries, as well as foreign currency
translation adjustments. Deductions from the reserves for inventory excess and obsolete items equal inventory written off against the reserve as items were disposed
of, as well as foreign currency translation adjustments.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265489"
          xlink:to="f352124f2-3c3e-4055-8a7a-e6759e07517b"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265464"
          xlink:to="f352124f2-3c3e-4055-8a7a-e6759e07517b"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265477"
          xlink:to="f352124f2-3c3e-4055-8a7a-e6759e07517b"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265439"
          xlink:to="f352124f2-3c3e-4055-8a7a-e6759e07517b"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265451"
          xlink:to="f352124f2-3c3e-4055-8a7a-e6759e07517b"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265445"
          xlink:to="f352124f2-3c3e-4055-8a7a-e6759e07517b"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265470"
          xlink:to="f352124f2-3c3e-4055-8a7a-e6759e07517b"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265458"
          xlink:to="f352124f2-3c3e-4055-8a7a-e6759e07517b"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c93265483"
          xlink:to="f352124f2-3c3e-4055-8a7a-e6759e07517b"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>118
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M?!^2!F.,6_0T7X\48JVFL:W&VC$,>8!8\PRA9CC?AT6:&C/5BZPYC0IO0=5
MY3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$%     @
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
M+$A?KBAQ*4^^(#]_8DSL#I(3Y/]MH?\_4$L#!!0    ( &."5E;1:,6![0<
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
M$3AU:=JIO0_S-9TR @YQ[&("0)*G29Y,N!@VJ#^+JS^8]&VSK?LW0WLM!1,
M25Z[EW@[U1_ !ZG[(G^>)@2/M]4AG#MOFUK.@QE@<3,P7>IA 5A3K;:V5R^K
MT2^P1S*R0+\"NG=I']KB(AA4X'08*B++O*D? A(FI@Z+V. /6-P?_#<LMN$Q
M\-6?9,*;.SZ*D0E_P 9_P.+^8.]CNLE!"/(-G '3)*?)V.L&@83C;&*Z\\$@
M\/A.VK-??6'\NC .CSA],Q8^4@H PT=*BY-7N^Z]^N_2W%5M!S;W%EKB"P%=
MF/VKZOV-U9O^;>]*6ZN;_G*M)-!W /C^5FO[=.->(!__86#Y#U!+ P04
M" !C@E96?P;KO*H"   D!P  &    'AL+W=O<FMS:&5E=',O<VAE970S+GAM
M;)55R6[;,!#]%4+((0%2:[,D([ -) Z*]E# B)/V3$MCBPA%JB1E)_WZ#BE9
M\);-!XO+O,?WAN1PO)7J69< AKQ47.B)5QI3W_B^SDNHJ![(&@3.K*2JJ,&N
M6ONZ5D +!ZJX'P5!ZE>4"6\Z=F-S-1W+QG F8*Z(;JJ*JM<[X'([\4)O-_#
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
MTN1P8/2V_93B7ANC-^W/M4I!,EH 7%]J;9X/[ V.W_O<_!=02P,$%     @
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
MI%+HDYF)9QWF5-^9H/!;$_J<8B80=_#D!$)J2ZAF034;JCE0S85J'E3SH5H
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
MO:<)/RAG*#.%Z*9)Z%@56I&X)!:7)(P2YA:E8BN[PAH&3-^.HW[W/5(49N9
M6W"@VA*J65#-AFH.5'.AF@?5?*@6J*Q[I*B+N:P8=/1 [Y'"F'>VF,\->72/
M%.B\$52+H5H"U5*HEJ&T83CW/4@JOP?IPCU2V($,[4B":DNH9D$U&ZHY4,V%
M:AY4\Z%:<-:&]TC1Z2P>-Z68.C%5DUX+CK&9IBU,^K)_:P;(OD<*HU QY[JI
M&_2ZD"'JFJ'K].)P7$>(HC(.!8X+586^<#9;T^3%A5OHJ7V/C?J*]TCAVY,C
M"=J" ]4LJ&9#-0>JN5#-@VH^5 O4<4O$Z'VIL"04EZS%)9&X)&:4J(M1]W5R
M75DJGC 32L/(Z3M&U%>[0PA?GAPXT(X1J&9!-1NJ.5#-A6H>5/.A6J"*.T94
M<<>(6%F+E4A<$C-*9MIB0=^Q+KFR+F75$?JV=AE3,Q7Y0J.:VO>/J/]_[A'"
MW]3).0;M/X%J%E2SH9H#U5RHYD$U'ZH%*J/_1-')J $%.FO(F'64>]"N$J@6
M0[4$JJ50+4-I@YS7^JX2[:]]CQ#^YDW-=JBVA&H65+.AF@/57*CF034?J@6:
M^!XAVKB#848TZD!9R(#HN&9 ]#)57!*+2Q+V%M-OB<50)H*&D=7W;FC_J_<(
MX<\V.8&@S1M0S8)J-E1SH)H+U3RHYD.U0!,W;T G#!D3SDQEH=%G$4-GC:!:
M#-42J)9"M0RE#:.:]%']ZO<(X<\P.9ZAW1M0S8)J-E1SH)H+U3RHYD.U0!-W
M;VCB>X0PE!F9+]11YHH[-\0EL;@D892P-B@54YF8&F9/W[FAX>X1PJ<FAPRT
M:0.J65#-AFH.5'.AF@?5?*@6:.*F#48),;4%W2$FEM;BDDA<$HM+DNLV.15+
MF5 :)DS?C:!QS^R>>H\0OC8Y9)#:$JI94,V&:@Y4<Z&:!]5\J!:<-6[("$M"
M<<E:7!(Q2F::252=3ADAE5Q)I6(J$U/#G.F;$K37OT<(?XK)X0-M4(!J%E2S
MH9H#U5RHYD$U'ZH%9XW[-DI\CQ"QLA8K$:-$-4U]=(,B,95<2:70)S,3SSK,
MJ?[\?(U_?C[_"O3\P9,3"'I&/E2SH)H-U1RHYD(U#ZKY4"V :BNH%D*U-52+
MH%H,U1*HEFJ,IH@%W;21H>8<1G3?P*!]STU"^(,G1S2T0P&J65#-AFH.5'.A
MF@?5?*@60+455 NAVAJJ15 MAFH)5$NA6G;6OGT[H<F*2BYTF6E]RX?&;_F8
M?,TIOC<YMZ&-'E#-@FHV5'.@F@O5/*CF0[5 $S97K* 3AHP)9\0@1)8-^G
M<MX(JL50+8%J*53+KME?PZCMVUPT?IO+51>4XAN3XQ7:?P+5+*AF0S4'JKE0
MS8-J/E0+SAKWV*FP621D*#-5TQ=T&\M:;$7BDEA<DC!*F%N4BJWLBD<W"!B]
M[Z_0^?T5<?[E^:2W?//[<5?O3I\7=[=^VQWNNY^T7]:[;5%==:5Y_FQ3HPBJ
M+:&:!=5LJ.9 -1>J>5#-AVJ!+NP96$$G#!D3=A<J&5U>"CIK!-5BJ)9 M12J
M92AM&-5]7XG.[RN9&-7,>(;VDD"U)52SH)H-U1RHYD(U#ZKY4"TX:[R5HC[N
M_E#5-E&IU2)#4E1%7]"Q*VQ>B<0EL;@D891HAD+HTY7%4B:4AN%#^O#A=TI<
M<>%1PDP<:'L$5%M"-0NJV5#-@6HN5/.@F@_5 GU\\K]!#%DA])7D5M!Y0\:\
M,T4A"TW5Z?>ST(DCJ!9#M02JI5 M0VG#=.Y[271^+\F%*X^R$QG:2P+5EE#-
M@FHV5'.@F@O5/*CF0[7@K VO/+J@PWA<I,C*7%$7]#IP7#A;R O-'+T!9Q0R
M+SW**"2J,B=$HU>%#'&N*_2YE0D+;/_\J*-&$]:#7M 7*,W8G$ET^BSPV_JA
M*)IEWN3OWCSE]T685_>[0RWMB[MVI/R3T1+5[O[AY9NF?'I[TZX^/Y1-4SZ>
MOGPH\O;=:%?0_ORN+)OG;VY;_W-9?3S-\>Y_ %!+ P04    " !C@E96T%W<
MVZH"  #/!@  &    'AL+W=O<FMS:&5E=',O<VAE970V+GAM;*U574_;,!3]
M*U<9VD "DB:EZUA;J1],XP&MHF-[F/;@)K>-A6-GMM/"?OVNDS0KT%8\\!+[
MVO><^V'[I+=6^MZDB!8>,B%-WTNMS2]]W\0I9LR<JQPE[2R4SI@E4R]]DVMD
M20G*A!\&0<?/&)?>H%>N3?6@IPHKN,2I!E-D&=./(Q1JW?=:WF;AEB]3ZQ;\
M02]G2YRAO<NGFBR_84EXAM)P)4'CHN\-6Y>3MO,O'7YP7)NM.;A*YDK=.^,Z
MZ7N!2P@%QM8Q,!I6.$8A'!&E\:?F])J0#K@]W[!_*6NG6N;,X%B)GSRQ:=_K
M>I#@@A7"WJKU5ZSKN7!\L1*F_,*Z]@T\B MC55:#*8.,RVID#W4?M@"MSAY
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
MKK>J4]G%([O82\5/A;)@BDPU[FU$JX9!U8N/SQ5#L(/$BC)L$P2@*+%GRAR
MV?W27_FIY(SV!7DE^?6OW8K)H%'24&O 4B7BW9&.2=Q)-"4DLXEQ83AT>J4+
M2A!U.N5KF DTN@E$O?I9VPG%1Z/XT!Y^3Q*;W#&S9\V+!:^-//[1*&F=6N5?
M:K[@NO_"FAF=R14,A)\S6G[6:/-S13N\@Z,!0EY=?OVA-#JGU=Z'\?M"B43P
M?D1.-L813>S$=E&7B* TMJ=B"!A%61+;Z?T:I@*-K@+Y;<6GYEXI&B4-CW1W
MUPI<$I3AQ-9[$) F898YO # ),E2VUWXZSV5E]%?(+_!Z =$S_P N(0DCFU6
M7-1EBFP9#* 03J/,9N0US 0:W00Z82>>N]&F>#K:AUQ%?XDQ"6VA.@. .$N4
MC["I<7%Q'%)G]GP-DX!&EX#\LEY1([=*M#T4>I;0,P);;VKQQ%BP8 U;\B,Y
MY,KU2YP0>Y5I!N"B%#DJS$7A$$6)3=5K.  \.@#L=P!#OQH(VYLX(8*P*]L1
M"D-B=S, EY#$=I(Y (O#R%G7\+=@*D.C"\!^R9X_EDRY3F6-=LD3+*58!TP)
MBNXI*!X*"6\A8%>'7Z(X0_8"!X134UAHCTL0+LYBVZ#[VS.5KU'78[^N_^6E
M*Y<@9:XRC]((.0GFPBA"*+(5+81+XX@X*?8::A^/:A_[=ROTI-^^A)VS;E><
M-5I^UFCS<T4[O"&CR<#^/8O/4I2,54-'5^:4:0NA$EJEL>[R>D91O7^C5Y_
M&T6!L3^QM2N$LE5&#H!08DL1?W.FTC4J>NQ7]#!=W&3U48I</8Y(F-H4N2CJ
MC'@Y@+(5B;\%4QD:93WVR_I#AOIYI.1Z[;?IF/I"O?43M*S<2KY;(NYDT;2%
M.;D CP; MD#D2%X 16-W:G%1.(Z03>)K>  \>@#L]P WHNDD7VQ[=L3S!+QF
MW4I4I](-4/Z(9L29BP$<41+7YLN%.1GW&O8 C_8 ^^U!KM<H*]YM5?!@*>2W
MC%Z :U"&.G4Z)X!#RF+:RW(Y!(RQ\E0V9:]A&_!H&[#?-GS>RG)5M&;PJD5S
M=ZFZYOI47@&> 45AZ.35R:V _#1D[F_ 1(+(:!:(WRQ\&-?0-$>+;:L RI*/
MJVQ&^)FE-@F>BKDAT 9!%#H;"1 N080F]OH%!(QIDMD^R]^TJ=2-+H+X7<1.
M%6];L]TRI-4+3JA )H)03.RU;PB8H@2GB<T8%!'3T-E^\3=I*F6CD2#8JXKG
MNZW/$PR=2;P/-)XS6G[6:/-S13N\(7MGJOR;$I;,6PG9]4/D0D@53-TI^/X
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
MAL56#<KD/ED"?'G*XY<D'S[-B,?+RSGEZND9?;F:SOC+G+],KOC+.2\+7RX
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
MD6@!>;*BC8_:,=#[6M'<' Y.P?X_Q.(?4$L#!!0    ( &."5E9IAJ@FQ 0
M (0+   9    >&PO=V]R:W-H965T<R]S:&5E=#$R+GAM;*56;6_;-A#^*P=O
M*%K ]8OB-"]-##3)@G9 AZ)INP_#/M#2R29"D1I)Q?%^_9ZC9,>I70/%/E@6
MJ;OGGGLC[V+I_'U8,$=ZK(P-E[U%C/7Y<!CR!5<J#%S-%E]*YRL5L?3S8:@]
MJR(I56:8C49OAI72MC>]2'N?_/3"-=%HRY\\A::JE%]=L7'+R]ZXM][XK.>+
M*!O#Z46MYGS'\6O]R6,UW* 4NF(;M+/DN;SLO1N?7TU$/@E\T[P,6^\DGLR<
MNY?%A^*R-Q)";#B/@J#P]\#7;(P @<8_'69O8U(4M]_7Z+?)=_@R4X&OG?E3
M%W%QV3OM4<&E:DS\[);ON?/G6/!R9T)ZTK*5/1GU*&]"=%6G# :5MNV_>NSB
ML*5P^B.%K%/($N_64&)YHZ*:7GBW)"_20).7Y&K2!CEM)2EWT>.KAEZ<_N$B
MTS&]IAOV^D%)B.B##=$WB'P,I&Q![[F8:SNG=Q)!'36'BV&$;4$8YIV=J]9.
M]@,[XXP^.AL7@7ZS!1?/ 88@O6&>K9E?90<1;S@?T-&X3]DHRP[@'6TB<93P
MC@Y$(E!T=*NMLKE6ANZBBISBL,_A%FZR'TZ:Z3S4*N?+'KHEL'_@WO3%+^,W
MH[<'R$XV9">'T*<_E2VZT2$W+C2>Z:\O_!CIRKC\_N]]3ATTN]^IX\'/%0]=
MNZIR1?O^9<&RKI5=D0[$C[4+7$@::J]SIM(T>6R4=' @;2G?TM4V-TTAX"$R
MFSX^UC7[9%:9!MW25&_3"KL:6KDR9D5-U$;_"_TUU@IMO.:?*J "_ARIIPAV
M&N3R2*Z456"J42<V2GGL88AS1L/Q<E-"B!+.AS 01Z'\S-"J[A@M% *'$Z;Q
MK6.P93A 8J$LI7.%V2+(.5<S^+<N>GG@]8ISU03NZ.7H,@_"@0I'UL5=M?0<
MRV-$.-F ;^FZ\9[!^&!&RDXX;X57^):#X9S)ZW!/"@GO_$W1\LH&E;=Q*=@Z
MY ,Q+5(6G\PYT/:MIQ+MKX,[E),S1OG!,RK[4[A#"1M+Y9'QQH,;XB'I#\JD
M=*\C(RE6%G=.,OG@C!(\U($*P2%MPG*IXX)R]A$7VZZ9-7S8PM>M!U8N"P-K
MC8=Y!&+6!+110 U</S$XE/NX9(/-_?F&#>WCZG4)?,+E]H#*^#\5\,%&1M(B
M?9:"OUNJ.F /W\8G?6%BHP05MG90!O11(0H)!J(+STPA\=DC"LC?&\N=^3%^
MDEQ5N<:F:E$E:+R.ZI$:B^%"LEO0'+$/]!)'%R+]"K65N[E-7Y"0%.P5*X\:
ME2OEL)M'I_W)V:1/MTI[^H;3@1.!$I7FEG*$1#4S:&XYU>3H$O!29!^2;-O]
MZV)\\<MI-CYY&[;;^?RY_6>+V^_+YRE%O]+9!(^71V]>/:7"2RI"2L7DK)^=
MG-'+K#\ZF="KEO2&5U@3VRG0)PM2H'H/LL)MT)Z@;4_"]5KI0AH>,U=7V6UW
MMJA1VH,[1$R%P)+ &5ZW62O<"77= ![!&5VDGIHI@V,1!-*XJ1+[W2K_?F>\
M+[,[0GW:=ZT.MR:CBOT\S7]R%*#LVB%IL[L9,=^UD]63>#N?HMCG4HZ&2ZB.
M!B?'/9Q[:>9K%]'5:<Z:N8BI+;TN,":S%P%\+QUNCFXA!C:#]_0_4$L#!!0
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
MM<61VEVNI< HH05XO]3:3C>D8/XM[.*_4$L#!!0    ( &."5E;'0HONR ,
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
M2^QB['6<(;92D$QE:8;W9(%[.4TSC&01H]M+*MCULAD]>(TBGV?IS>VABJ^
M_F&Z7=T^Z\_ZU^R]>/]-\$&[68U77&.F>#0[4OB*=OT[NY\$NTAOVQL;L'C2
M<(Z?)L9% =R?6KQWUI-H8/NQ,_X74$L#!!0    ( &."5E87(=4J-0@  + 6
M   9    >&PO=V]R:W-H965T<R]S:&5E=#$W+GAM;+58;6_C-A+^*X3;[B6
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
MKCIT .^72IGN@03T'ZEO_@]02P,$%     @ 8X)65N'1QFB@!0  _@T  !D
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
M23".0TIF031)Z0,HPJHLHS@(LY!NM0/**$BF43"-IM W#3S=TH*CO %0P-[
MM:P+[BDXOB+L.DVP;')*=/DHI"!+0QH'<3CK #QC"-D,6E.T9R' S2)Z+UQC
ME%/2!T9Y+ )P9%@'5IE%X8XX%5"/^O28%WM6V4TM4RT\:$H85Y!,4A\#B(AP
MRJA;(C _IG@:1'&*R33Q[<F4QU,:9\%TXL<S;L^2B,<SRM(@P_0N=*89I;,T
MF$1^>D)9N',M^SB)*>N^5TN0T,J<X0_J\+^C<1^H.[U,9\ .]QQ/VO8M+#_&
MP)M=J%5,/?->[SE%4'KD ?W6U)+BF>].AG0C-ZX58:*&7OLK76U$??_C#],X
MFOQL*6\+AM@7#-WE2'E/&Z/O%.<P+@PDZ%F$T&C1>W^7#&V^4]&GPXM3%OSD
MG=@7!RA-.I5-G>NJ4L[YF@&E# ?D[;?27$G$?J?6HJJ-QGOBTL(!Z9XB4=FO
MR1L>B=$GO5%HN*+62+PA##@2Y,,T;>=J_8WLB]+J$RZPLE9H6(F\QB"7(>.S
MPY>K+QW!TSWQ0SKL/CP,D,Q^-PQRY0;ETCI.7"/XC.6K4L'T2^6S3_@1/TF;
ML@%J7,DVFU+E8E&R1PS@LRO8]N?$R(M_<?^!DG=OYQ^NOV%ES"L#/CRDR->4
M8[\ M\W%O[@!\IG?*FPYZ^$)% G</O$5JA2+UM &UQ?C@^+0_B&]K5'([OWI
MTF5.% =M2?'CDS8PZ 6SK1&T+/G%LH,9GFCS#Y[_(A4/Y!Y&U=6QJ.($8;C7
MO6/WD;OWE!3F@:=$2^J>BQWC-Q_>7#_EI?0Y=C2Z6:V_CF+8(NH&EWQJ!Y P
MX3!\_E3"?*]IHN HSZ5Q>'WLSF"D?Z[O)-IPL\]](_]K%(+4[;.)PX&?+'ZA
M0(^K1BF[6#!\MH$NW"XH&:+@0]JG)/\<,2+H9L?#:?28S/#)TG#\<'O PS$.
M8-@*5,-<R;>D>XYX/D<[I^-G5^"^K"3;-2Y0]V=Z6V-AH2M$A<)-$A^C<@X#
MUJ0*)0P?V[P_;[:K(]A)6*M!.(OB'5*B84#C067:KA42<5/*@C,,'C((/ 0]
M(KONGF5;E >/KD\$&D]"PMG'53*@J^,WR8".7;!'!P^A2IJ5?^ZA9/*%K7T3
M]:/]B_*J?4CMQ=OGZ'L?ZA9!L<32$%$P(-,^\=J.TQO_K%IHAT>:;Z[Q*I:&
M!3"_U'AK=!W>H']G7_X/4$L#!!0    ( &."5E885M ':P(  (0%   9
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
M+$#[I:&[MINP@>$?8_D34$L#!!0    ( &."5E;\94B+L0@  %46   9
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
M4O(UMD;A/)N@%74?,?V+D8W[<+B0QLC*/6XY;G'*$F!]+:7I7ZR X4ORV?\
M4$L#!!0    ( &."5E:I2I'I204  ,X+   9    >&PO=V]R:W-H965T<R]S
M:&5E=#(U+GAM;(U6;6_;-A#^*P</Z"?/EF2G<=K$0-(N:XNU#9IN^S#L RV=
M;2*4J)&47>_7[SGJI<GFN@,"ASS=/?=^O,N]=0]^RQSH2VDJ?S7:AE"_F$Y]
MON52^8FMN<*7M76E"KBZS=37CE41A4HSS9+D^;14NAHM+R/MSBTO;1.,KOC.
MD6_*4KG##1N[OQJEHY[P26^V00C3Y66M-GS/X=?ZSN$V'5 *77+EM:W(\?IJ
M=)V^N)D+?V3X3?/>/SJ3>+*R]D$N;XNK42(&L>$\"(+"OQV_8F,$"&;\U6&.
M!I4B^/C<H]]&W^'+2GE^9<WON@C;J]%B1 6O56/")[M_PYT_9X*76^/C+^U;
MWK/YB/+&!UMVPK"@U%7[7WWIXO!(8)%\0R#K!+)H=ZLH6OE:!;6\='9/3KB!
M)H?H:I2&<;J2I-P'AZ\:<F'YP0:F=$$_TBM;ECH@WL&3J@K<JZ"K#5>Y9G\Y
M#5 F(M.\ [YI@;-O *<9O0?"UM-/5<'%4X IK!Q,S7I3;[*3B*\YG] L'5.6
M9-D)O-G@^BSBS4ZX[BE8NM65@I?*T'U0@6,(CCG<PLV/PTGWO/"UROEJA/;P
M['8\6C[[(7V>O#QA['PP=GX*?7DR._1:^]Q8WSBF/S[SET WQN8/?QYSXJ2:
MXTZDB\GIZJ#/6Q:.6E4'VBKA(.6<PG>10$F'+2E:QS@SY1TG0E\[N],%T]I8
MZZ@V$&RY@$T8.92S"Q@M:#1EV/G)$U6.<T9/>ZK5(2I:.UM2 ,>_5:EU8(RB
MK:XCGUV+YJ+)@Q@A BW^4_A:N:!S72NI$]@@?+GU4;SE?V1L4PM4;Z[1B%8;
MJ1B/C6,NA,%QW;@<-.XM\$*SWC/^"EH=CMD_IE43J+"PH[*!T E<KJ"^[P;Y
M2>EC1=?-!C.#.O*8[KD.+6LVZVD?\V"%<MX3SLE6'(%+=1"4GB-;]"R#QIXT
MH5O;.%)%H66ZHG?J!LV#;%!NE/=QW-K*TYZ=N&-:WW*0FA*)E!C^S!4[E4.
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
MD$3O(!['\06^9+";>+[D@ET#I&#!)9,Y9P)6Q BK<X8[NLEI.M<Q4U.S'-/
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
M<VAE971S+W-H965T,S(N>&ULC57?3]LP$'[O7W'*IJE(@21N?A365J*P:3R
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
M&[IHT7@'>K_2-++V"Y]@NKH7?P-02P,$%     @ 8X)65HR5'B#3!   E0L
M !D   !X;"]W;W)K<VAE971S+W-H965T,S<N>&ULE59;;]LV%/XKA#<,#L#4
MO%/*$@-QNG9Y:!<T68MAV ,CT[80271).D[WZW=(V<ZEKMN]V!1Y+M^Y?(<\
M73M_%Q;61O30-ETX&RQB7)Z,1J%:V-:$5VYI.SB9.=^:")]^/@I+;\TT*[7-
MB!&B1JVIN\'X-.]=^?&I6\6F[NR51V'5ML9_F=C&K<\&=+#=^%#/%S%MC,:G
M2S.WUS;^N;SR\#7:69G6K>U"[3KD[>QL<$Y/)C+)9X&/M5V')VN4(KEU[BY]
M7$[/!B0!LHVM8K)@X._>7MBF288 QN>-S<'.95)\NMY:?Y-CAUAN3; 7KOE4
M3^/B;% ,T-3.S*J)']SZ=[N))P.L7!/R+UKWLJ(<H&H5HFLWRH"@K;O^WSQL
M\O!$H2#?4& ;!99Q]XXRRM<FFO&I=VODDS182XL<:M8&<'67BG(=/9S6H!?'
M[UVTJ$3'Z*USTW7=-,AT4W391=/-Z]O&HO,0; QH>&/@*QR=CB)X3;JC:N-A
MTGM@W_! &7KGNK@(Z+=N:J?/#8P [@XSVV*>L(,67]OJ%>(4(T88.V"/[W+
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
M4#9LP/=K@]?J9(0 Q[^.Y9]02P,$%     @ 8X)65E(U! 2( P  1@@  !D
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
MHE"'>91&1\%7OBNM%\2+V9[N\!'MM_U&NU/<6<EYA=)P)4%C,8\>TOM5FGA
MT/B;X\&</(,/9:O4DS]\RN=1XAFA0&:]">I^7G"%0GA+CL=S:S3J?'K@Z?/1
M^A\A>!?,EAI<*?$/SVTYCR81Y%C06MBOZO GM@&-O#VFA G?<&AUDPA8;:RJ
M6K!C4''9_-(?;2). (2< 9 60-X TL$9P* %#$*@#;,0UII:NIAI=0#MM9TU
M_Q!R$] N&BY]&1^M=F^YP]G%%V41"-S"8U-'4 4\,*9J:;G<P48)SCB:-PK"
M59]*AN#Z"-:JWMJB%D><@>LU6LJ%N8$KX!+^*E5MJ,S-++:.LG<<LY;>LJ%'
MSM!+"7Q6TI8&/LH<\_\:B%VL7<#D&/"27+2X1G8'@_0#D(00^/:XANNKFPMV
M!UTB!\'N\(S=)14^(WTA-L!1 /JQ>G%A)60TBU]Z_ T[?\.+_CX:2[>"N\KG
MH0J4/=?<<#\;O7ENK&4G)(;323^%44=A=)'"1JL7'N;9$V :<VY!*&-<OURG
M-WTL1N]8I.-IEG4\@M;JLMM_T^\7ZI5UY+.+5E8EU3N\5471FZ[L'=%;,AH-
M^Q,V[GR.+_NLM4;)7L%J*HV@OEA]SL<]SL=IO^])YWORN_TY>=>?9)QE9V*=
M1F\$:?+KJDG^KW"?)!-U[OJ#@MDCXP5GIXT#^ZZEW#5SE8X_3$GFM@53VDT_
MY+7VEY(MT7VXSN&YIMJB]LIAG,,@ !-():!$O7OU%O.:V?8N=;JVI!8*+MJY
MV5+YI.N]9:]W?5T5GURM#KT+&\= N.B:2>FDW59["'?Y&_G2;[L^.;E?]>D_
M3.]7TSYYFAS79OR+4+-T/[N6YM* P,*12^[&KJ:ZV6/-P:I]6 5;95TRPF/I
M=C]JK^#>%\JM@_;@'73_)A8_ 5!+ P04    " !C@E96&I;X2=@#   4&
M&0   'AL+W=O<FMS:&5E=',O<VAE970T."YX;6R]F=%NVS84AE^%T(!A ]I(
MI!,GS6P#<9.A!>+-:-86Q; +1CJRB$JB2U)Q O3A1TJVZ X)J2BS;FR1(L]_
M^//(GT!/-EQ\E1F 0O=%7LIID"FU/@]#&6=04'G$UU#J.RD7!56Z*5:A7 N@
M23VIR$,21>.PH*P,9I.Z;REF$UZIG)6P%$A614'%PQQROID&.-AU?&"K3)F.
M<#99TQ7<@/JX7@K="MLH"2N@E(R72$ Z#2[P^7P4F0GUB$\,-G+O&IFEW'+^
MU33>)],@,AE!#K$R(:C^NH.WD.<FDL[CVS9HT&J:B?O7N^B_UXO7B[FE$M[R
M_#-+5#8-S@*40$JK7'W@FW>P7=")B1?S7-:?:+,=&P4HKJ3BQ7:RSJ!@9?--
M[[=&[$W XR<FD.T$4N?="-597E)%9Q/!-TB8T3J:N:B76L_6R;'2[,J-$OHN
MT_/4[ ^N !'T&MTTVX)XBB[BF%>E8N4*+7G.8@92#U@*70I"/2!:)NCJ6\76
M>G,4NI**:7,@01\EI%6.KK7+$OUR"8JR7/XZ"95.TXB%\3:E>9,2>2(E3-""
MERJ3Z*I,(/DQ0*C7URZ2[!8Y)\Z(EQ ?H1%^A4A$B"/>J#5M5,<[?B+>M;'@
M?;$6_ Z,"1+]O8#B%L0_Z#M:L)(55=%V/6: ,[QY$,_EFL8P#?23)D'<03#[
M^2<\CGYS)'_<)G_L3/Z'?83=/KY"T&YDU6QDWFSD%Z#BT5UTRYRA!SU1.A(^
M:1,^>8';]-[KMC-\3[?';?+C8=QVRY#(:_=IF_&I,]2\8GEBGGV3<=MX2;4[
M]7KZ?]:NYFP8_]TRV.__FS;C-_^G_QWJWZG7TW\<6<!$P^R 1^?8OP5XCXK8
M&6Q!XTQWB?_2[IF5[U;I:SVQJR #6>_6&?F=MVC%;K9V<;Y#S;M5^CIO&8L'
M@JQ'!Y_XK;><Q6[07IH7/9/P7UR_53Z[U@^!66PYBP<"K4>G0ZU;TF(W:AV&
M=RGQ0W 56[#B@<CJT>F 5FS9BMUP_009BW-X?G$?@J'$,I0,Q%"/CK^XB44H
M<2/T4:L[E+4[;%^K+3/)0,STZ(S]5EMF$C<S_TQ3%D/_UQ1W^+Z66UB2@6#I
MT>E0W9:5Q,U*I^5=JOP0M"26EF0@6GIT.KR?$(M+XL;E-5 )&<]?=O;B%NGK
MO,4F&0B;'AWB-]Y2D[BIV<'X+B5_"(:.+$-' S'4H^,ZB@GW#FH+$*OZ.%JB
M^KBU.;-M>]LC[XOFH-<.;\[+%U2L6"E1#JF>&AV=ZA\4T1Q!-PW%U_6Q[RU7
MBA?U908T 6$&Z/LIYVK7, +M'P&S?P%02P,$%     @ 8X)65@Q1:6QR!
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
MM9C2VNVDB;1J\DSK]]L?BR9A=]JTU6C4V?2XT: A5U2S4<U!-1?5/%3S42U
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
M'^C^_JZNV\,WEQW_N6Y^W^UQ_7]02P,$%     @ 8X)65N9K_]&F!0  MQT
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
M9W3*1-Y ??_$N7P[R .L]Z /_P902P,$%     @ 8X)65D/7I81_ P  H0L
M !D   !X;"]W;W)K<VAE971S+W-H965T-34N>&ULK59=;]LV%/TKA%8,";!$
M$JT/.[,-U-&&]2%%D*S;P[ '6KJVM%*D1M)V^^]'4HIJ2[0;#'FQ1>F<PWLN
MR<L[/W#Q698 "GVI*9,+KU2JN?-]F9=0$WG+&V#ZRX:+FB@]%%M?-@)(84DU
M]7$0)'Y-*N8MY_;=HUC.^4[1BL&C0')7UT1\70'EAX47>B\OGJIMJ<P+?SEO
MR!:>07UJ'H4>^;U*4=7 9,49$K!9>._#NRP,#,$B_JC@((^>D;&RYORS&7PH
M%EY@(@(*N3(21/_MX1XH-4HZCG\[4:^?TQ"/GU_4?[7FM9DUD7#/Z9]5H<J%
M-_50 1NRH^J)'WZ#SE!L]').I?U%APX;>"C?2<7KCJPCJ"O6_I,O72*."&%R
MAH [ AX2HC.$24>8O)80=83(9J:U8O.0$466<\$/2!BT5C,/-IF6K>U7S*S[
MLQ+Z:Z5Y:OF1*T 1ND%/4(#>4FL*Z"-G.6=*<*K16_2!*1 @U>M 5QDH4E%Y
MK>&?GC-T]>X:O4,50[^7?"<)*^3<5SIP,[V?=T&NVB#QF2!#C![T7*5$O[ "
MBE,!7SON;>,7VRM\43&#_!9-PI\0#C!V!'3_>GKHH&>OIP<7W$SZ19Q8O>B,
MGEF6NK'G:$_H#A I_M%;1Q]/Y4IV*Q9;,5,7]LN;:(8G\=S?'Z?  0O3,,"G
ML,P%PU':HTX<1;VCZ+N.OK/1_GJ >@WB;Y?#B^*FE-[)AN2P\'2ME"#VX"U_
M_"%,@I]=6^$MQ;(W$CM):MPG-;Z8U!6AA.7@2EA+3(X6,9X&<3#8$6-4DN @
M'6P(!RK$^,R&2/K8DXNQ/Y=$ .(;Q/1=6.D=40.ZHES*:Y>=9!1"&D>3@9LQ
M*([3:&!F#+K!4SQSFTE[,^E%,_K&TO<1T_5="&#Y5Z0$89(2<X)==M)Q$)/9
M=' 0[UVH))D-#(U129Q@MY]I[V=ZT<_C3N2EOGS-^I"BJ(P/0A$_,!"RK!J]
M8.VA=9F;.L).A[7( <)IF Q7:PP+W,YFO;/96U;6V6A^5V$=HUQUU8$Z6U;#
MX-MU'_S?&M QCRMY& 91&@["=^ <Q2)SP$ZK1>O /^I=:A!;VP-*E/,=4^U]
MWK_M^\SWMKL:O%^9_M/V1-]DVN;U@8AMQ22BL-&2P6VJ8Q)M/]@.%&]LA[3F
M2O=;]K'4/30( ]#?-UQW2=W 3-!WY<O_ %!+ P04    " !C@E967/2<-_ $
M  ";&@  &0   'AL+W=O<FMS:&5E=',O<VAE970U-BYX;6S-6=MNXS80_15"
M710)X$072[ZDMH'$MIH FS1(LMN'H@^,-+:$2**7I.,LT(\O*2NR=0G7+KA
M7VQ1FCD:SN$,1\/1AM 7%@%P])8F&1L;$>>K"]-D000I9N=D!9EXLB TQ5P,
MZ=)D*PHXS)72Q'0LJV>F.,Z,R2B_=T\G([+F29S!/45LG::8?K^"A&S&AFV\
MWWB(EQ&7-\S):(67\ C\R^J>BI%9HH1Q"AF+288H+,;&I7WAVZY4R"6^QK!A
M>]=(3N69D!<YN G'AB4M@@0"+B&P^'N%*22)1!)V?"M C?*=4G'_^AW=SR<O
M)O.,&4Q)\F<<\FAL# P4P@*O$_Y -M=03,B3> %)6/Z+-H6L9:!@S3A)"V5A
M01IGVW_\5CAB3T'@M"LXA8)34W"<#Q2ZA4+W4 6W4' /5? *!:\^!_<#A5ZA
MT,M]OW56[ND9YG@RHF2#J)06:/(BIRO7%@Z.,[FR'CD53V.AQR=WA /RT!F:
M 8U?L:09W62,T[58/IPAG(7H&L)EG"W1I5P%,8^!H9,9<!PG##W!&U_CY!1]
M0G&&GB*R9D*%C4PNC).O,(/"D*NM(<X'AMCHEF0\8FB>A1"VZ$]_H.\H $SA
ME=(USKMKKAPEXBVFYZAK=Y!C.5:;06KU&02ENH.^/,[0R:?3%IC9X3"V F9^
M.(RE@/$/AK'["A]WR^77S?'<#_'>5UT'_2[R(#KY3!@[12+G[#^Z ]Y!3X3C
MI&UA*5\A4_,%6^$ QH;(O0SH*QB37W^Q>]9O;:1NP;P<3*;EUXG7'X[,UWW&
MFC)GKMVK"LV;0EW/J\KXFBRON-XM7>\J7?\'CX"B*4D%=B2WBCSR Y)"04('
M33&+D"\VGSP%5"GJ(+S@ N !@@0S%B_B &_W"I$QGO";@B^E7<?RM07K[;MY
MX [=&F--*<?RG!JO\Z;4F>TZ@SIKFNROL.:5K'D'!@RZ9 Q$AC[Y'./G.,GS
M\FD>*LC',45?<;(&1!;[F7TJ,B05FSGKH/E;D*Q#F=9O4F$MEY)3"F',T4/,
M7MIX4UIV+&]>,\YL>U#GK2EUYMCNH,:;3L-\36 5=GLENSTENR(:4R(H^%XR
MA?ZZA?09Z-]MA"C!CB5$)]A,)]A<)YBO":Q";[^DMW_P;G>WEK3*J-LOMZXA
M"1694PE_+.']1K:S:M'W0XFY3H-\36 5:@8E-8/_&GGH'R2J9)%&6;S,,(<0
M85;6Q#OR]N6GA.4)]1$GHEA6A;#2JF,9U0DVTPDVUPGF:P*KK)-AN4Z&/[]@
M5;[B6-*'C2VR7M?,FB(]NUN+Y&&S0K(;E8\FPRN>MZW=IZJE]+U/*(@0E*5+
MA+,E'+9)JD&/];96M)E6M+E6-%\76I7LO;Z$_7/W2C7^T;S;S>^,>K':(F/;
MM3#3:I6O"ZW*D;/CR%%R=).)+T 06]V#V!;1XP:OU)&H1#N:$9UH,ZUH<ZUH
MOBZT*LN[%HVM[M'LHN\.-KM/2#3/V6]KU5T5B)5HJ0;"M$6D7X\GG8V=N58T
MO\5\9U<<5SV]Z\C8_]>6C-JPHT/3;?:^6IHR+6)M79D6L=:VC*XY;,DS]WKJ
M*=!E?OK!4$#6&=_VD,N[Y0G+97ZN4+L_E2<O>:]^![,]MKG%5'Q#,)3 0D!:
MYWTQ1;H]"=D..%GEG?MGPCE)\\L(< A4"HCG"T+X^T"^H#R/FOP+4$L#!!0
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
M,^G?JWQ7UJ'E[;RJM[-9VWQQW*:/AVVB%[9)D3[G6;4J)2=;LB4G/Q3G$RH
MYO43='J6Z-NS])$*19LM/D@*^5&B,J6<#?HD3G]DVSI=OIANB]/#729,=\3I
MGY-"N/'N^'TGG'1O_+[STOWQ^\Y+#\;O.R\]O.YUCZY[ZN+QZ;+@*%9.M:[L
M/?52K=?E7#;ES"O)0ZJV3VU:]]=[(JL65>K=_GI^I//B3)-J9C?.YL11BR@6
MZ<8YG#BB:*:F=^-<WGIU0S9ZGC>,LU2J6[W-\SEAQ++,GA8,PTS94!6U&Q8.
MPU1-5PW%Z,9%PSBE#B)FSXN'<50UM?J=U2FN<P"HIP- %1X =KYA994NI/]]
M9ILG5OR?=R (B>9-X4VY31;L;E:_ZROK-L!F]__\!]'E?_'^+B(Q&XDY2,Q%
M8AX2\Y%8@,1")!8AL1B$=4I4.Y6H]OZ_T<+4J:6)Q&PDYB Q%XEY2,Q'8@$2
M"P^8?MZF3-TP]5Y/CCAQ1%=E3>ZULV$<K=\SF++);V?ZJ59T8:T$6<6*+&D^
MS2=K84\3.E,+!XG92,Q!8BX2\Y"8C\0")!8BL0B)Q2"L4Z?&J4Z-]_<T8>K4
MTD1B-A)SD)B+Q#PDYB.Q (F%QJ 'Z99N]C\^1L,PS5!(_P-?/ Q3+%VQ*+^A
MF:=",86%\H65Z9)E55JWLX?\E17M23=1=Q.B4TL(B=E(S$%B+A+SD)B/Q (D
M%B*Q"(G%(*Q3M-:I:*WW=S=AZM321&(V$G.0F(O$/"3F([$ B876\!.61<BP
MO7'B5$TW=*W7WX9Q1--T32;\!D?D]NLF^=H6)_TEC3I1*5[3U.*":C94<Z":
M"]4\J.9#M0"JA5 M@FHQ2NM6]=F7R.3]/5"<.[E.D9H-U1RHYD(U#ZKY4"V
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
M+PBA$S)0S89J#E1SH9H'U7RH%D"U$*I%4"U&:?U:[X9ER*QI&7'VY$J%SLM
M-0>JN5#-@VH^5 N@6DC&<RXGCA<Y@?SCQ7&@\'B1=J,S5#PZ,[U-3OS^4+S\
MJ<4'U6RHYD U%ZIY4,V':@%4"Z%:!-5BE-:O]6Z.ALZ:HQ%G3ZY4Z!P-5'.@
MF@O5/*CF0[4 JH5T/ &CRX8R^ _S$2=,L11E>"3)"2.*)FLG&F0W4T//F*DY
MC-'4Q2/L=-!)&:AF0S4'JKE0S8-J/E0+H%H(U2*H%J.T?M%VDS)TUJ2,.'MR
MI4(G9:": ]5<J.9!-1^J!5 MI./!%MW2S>$OS42<.*UNB,,?AXDY<8JE*Q8]
MT>RZ01DJ'I3A-[OI7R&*%S.YP*"S-%#-@6HN5/.@F@_5 J@60K4(JL4HK5_2
MW2P-G35+(\Z>7*G061JHYD U%ZIY4,V':@%4"^EX\L6P9,T8SHQRXC3+HIHQ
M;(6<D1O+E%5RHA5V@S3TC)]_F=@*IW^)*%Z)R>4'G;6!:@Y4<Z&:!]5\J!9
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
M,+VRY:+&2D_%SI6- %Q:44W=P/.F;HT)<_+,VM8BS_A>4<)@+9#<US46_Q=
M>3MW?.?=<$]VE3(&-\\:O(,-J,=F+?3,':*4I 8F"6=(P';N_/1OEK'QMPY_
M";3R:(Q,)L^<OYC)73EW/ ,$% IE(F#].\ 2*#6!-,:_/J8S;&F$Q^/WZ+<V
M=YW+,Y:PY/2)E*J:.ZF#2MCB/57WO/T%?3X6L.!4VB]J>U_/0<5>*E[W8DU0
M$];]\6M?AR.!'WTA"'I!\%U!V M"FVA'9M-:887S3/ 6">.MHYF!K8U5ZVP(
M,Z>X44*O$JU3^1^N *7H&BTPQ:P M+%W9P4*$RJU_8X=@"DN"$ATV9NOM/UQ
MLT*7%U?H A&&'BJ^EYB5,G.5AC*AW:('6'0 P1< *R@F*/1_H, +@A'Y\OMR
M_Z/<U:48ZA$,]0ALO.B+>/>XU>55( BF8\ETZMBJ38<<\F26AI&7N8=CZ!&W
M(/&GP>#V 2X<X,*S<$^Z(ZX)NVX$+T".%KL+,#W:V(_2V>P$;\3+2^+I.%TT
MT$5GZ6X)(_HBEFC'^?A-B#YM&\\"/XI/Z#Z[A;&?I,DX7CS@Q6?Q'K@:/]+X
MTUGYD1>':72"->+GI;/$BT^XW*-N-"_A;RQVA$E$8:N5WB31(43WNG03Q1O;
MH,]<Z7:WPTH_R"",@U[?<MVD_<3T_/#$YV]02P,$%     @ 8X)65HGPK)4#
M!   W!(  !D   !X;"]W;W)K<VAE971S+W-H965T-C8N>&ULM5A=;]LV%/TK
MA%8,+=!&(O7IS#;0V!M6H%F#)FT?ACTP,FT1E427I.SVWX^4%7V;C0'U(3$I
MW7MT+@\E'G)^9/RK2 B1X'N6YF)A)5+NKVU;Q G)L+AB>Y*K.UO&,RQ5E^]L
ML><$;\JD++61XP1VAFEN+>?EM3N^G+-"IC0G=QR((LLP_W%#4G9<6-!ZNO"1
M[A*I+]C+^1[OR#V1G_9W7/7L&F5#,Y(+RG+ R79AO877*^3HA#+B,R5'T6H#
M7<HC8U]UY]UF83F:$4E)+#4$5C\'LB)IJI$4CV\5J%4_4R>VVT_H?Y7%JV(>
ML2 KEGZA&YDLK,@"&[+%12H_LN/?I"K(UW@Q2T7Y'QRK6,<"<2$DRZIDQ2"C
M^>D7?Z\&HI4 O3,)J$I STUPJP2W+/3$K"QKC25>SCD[ JZC%9INE&-39JMJ
M:*YEO)=<W:4J3R[_89* "+P!-SC%>4S ?3EYUD1BF@IU_8ZK*</E#X#S#?CS
M6T'W2D0)7E81KU3(I_LU>/GB%7@!: X>$E8(%2OFME3\]%/LN.)R<^*"SG!9
MD_@*N/ U0 Y"(^FKYZ?#;KJM1J4>&E0/#2KQO#-XG<K)4^6OP8XS,5K="<XO
MX?3K<UB&ON/I4@[M*H9A0>CY/JS#.FS=FJUK9/LVCHNL2+$D&S6-U2L=4ZQ?
ME#&B)Z2@Q> -BE $HQ[3L3C7#6:S<:I>3=4S4GU@$J=CO+S!\[P@#!RO1VLD
MS',B'XVS\FM6OI'5>RVS_BL;[[(]9P>B%1?@WUN2/1+^WQAG(ZC^"%^+/8[)
MPE*2",(/Q%K^_AL,G#_&)OA$8)WZ@[K^8-KI'@QD0,B/9CVQ1J("Z(;C6H4U
MU]#(]::@Z8;FNY)KW7FV9D;P2S6;"*PS#E$]#M&TFD5#-3S7]]V>:&-A'@K=
M<=5F-=N9D>TMCA-UB??7$I-41L1+I9H(K%,\=)J5UIE6K JO^X;-_%E?K9$X
M& 4!/+.BP)8W@$;&:TI$R?:!*9MAU,F,=*E04Z%UZVX6?CCQRE_AM15P0]<;
M"#42!OWHG$[-T@_-:_]GDM X)3]1R(AQL4(3H74K;AP$-%N(RQ4:FH99Y(1]
M@89188#.Z=,X"VBV%A^V6ZJL]?.^>&:LBW7Z%98"-IX"3FPJX- O0"^"0=!7
M:B0.*;<=G=&J<1;0;"W>$[4I3%AZ@04T(UZLV*\P%+!Q%'!B2P&'9B&(O+X-
M'(GR@_#,1@(VC@*:+<6*Y4+RXG0DH':?BOU.C<I/])K45$R%UMVC-JX"3>PJ
M*KSV_M-'_G"7.@SSU%ZL_RVT6T</^MSG%O,=S05(R5;E.5>A N"GHY131[)]
M>1KQR*1D6=E,"-X0K@/4_2UC\JFC#SCJ ZWE_U!+ P04    " !C@E96N7ZB
MWQ0#  "T"P  &0   'AL+W=O<FMS:&5E=',O<VAE970V-RYX;6RUEFMOVC 4
MAO^*E553)[7-#4+H(!*4=JNT;E4OF_;1) =B-;&9[1"V7S\[25,N 14)OD!L
MG_?-.4]LZ_1RQE]$#"#1(DVHZ!NQE+-+TQ1A#"D6%VP&5*U,&$^Q5$,^-<6,
M XX*49J8CF5Y9HH)-8)>,7?/@Q[+9$(HW',DLC3%_.\0$I;W#=MXG7@@TUCJ
M"3/HS? 4'D$^S^ZY&IFU2T12H((PBCA,^L; OASY.KX(^$D@%TO/2%<R9NQ%
M#VZCOF'IA""!4&H'K/[F< 5)HHU4&G\J3Z-^I18N/[^ZWQ2UJUK&6, 52WZ1
M2,9]PS=0!!.<)?*!Y5^AJJ>M_4*6B.(7Y56L9: P$Y*EE5AED!):_N-%Q6%)
M8'M;!$XE<-8%K2T"MQ*X[Q6T*D&K(%.64G 888F#'F<YXCI:N>F' F:A5N43
MJC_[H^1JE2B=#+XS":B+SM$7QJ*<) G"-$*W5&(Z)>,$T$ (D *=CD!BD@CT
M! N9X>23DCP_CM#IR2=T@@A%3S'+A-**GBE57MK=#*L<AF4.SI8<; ?=,2IC
M@:YI!-&J@:D*JJMR7JL:.CL=1Q!>(-<^0X[E. T)7;U?;C?(1^^76SNJ<>MO
MY!9^K2U^@Y1Q2?[AXJ"PR>;7:4)>6K8+2WWVYX%MN:[.9[X,8C.LU?5];S5J
MM!GE.H[_YK525JLNJ[6SK!M"B83S;^K<;^ZX,W2]F*F[02TMEW^&?@/FZ >%
MIIK+]WE+:7:[;=M9*WEG5OJ:O10S'$+?4/>H #X'(_CXP?:LSTT[X4!F*P#;
M-<#VL0 ^Y:P)8'L38,OJK.^9G5GM"_! 9BL O1J@=S2 ,8?&/>AM(/2[;<]>
M0[@SKWT1'LAL!6&G1M@Y%L(;EO$F@IU-@H[;73_%.]/:E^"!S%8(^C5!_V@$
ME::)H+]Q7:L=Z*T3W)G6O@0/9%82-)?ZF13XM.@+!0I91F79!-2S=>LY*#JN
MM?FA:DG+#O+-INQG[S"?$BI0 A-E:5UT%"U>]HCE0+)9T36-F50]6/$8J[8:
MN Y0ZQ.F.J=JH%]0-^K!?U!+ P04    " !C@E96K+=I?*8$  "G$P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970V."YX;6RMF%UOVS84AO\*H15#"R212'UG
MMH'$V4<O,@3-NET,NZ!EVA8JD2Y)Q\V_'R7+DB52C!/D)I'D]QP]) _/:W.R
M9_R;V! BP8^RH&+J;*3<7KNNR#:DQ.**;0E5GZP8+[%4MWSMBBTG>%D'E86+
M/"]R2YQ39S:IGSWPV83M9)%3\L"!V)4EYL^WI&#[J0.=XX,O^7HCJP?N;++%
M:_)(Y-?M U=W;IMEF9>$BIQ1P,EJZMS ZSD*JX!:\7=.]N+D&E1#63#VK;KY
MO)PZ7D5$"I+)*@56_Y[(G!1%E4EQ?&^2.NT[J\#3ZV/VW^K!J\$LL"!S5OR3
M+^5FZB0.6)(5WA7R"]O_09H!U8 9*T3]%^P;K>> ;"<D*YM@15#F]/ ?_V@F
MXB0 1B,!J E PX!@),!O OQZH >R>EAW6.+9A+,]X)5:9:LNZKFIH]5H<EHM
MXZ/DZM-<Q<G9GTP2D()+\#MCRWU>% #3)?A,):;K?%$0<",$D4()YICSYYRN
MP4W)=E0"MNIB/MX1B?-"?%*ZKX]WX..'3^ #R"GX:\-V0F44$U<JVNJ=;M:0
MW1[(T @91.">4;D1X%>Z),M^ E<-LQTK.H[U%EDSWI'L"OCP B /(0/0_/QP
M:,'QVZGWZWS!2+Y;7&":$=/,' +#.K#:B$\S&'AI% <3]^D46-<E88A0TLIZ
M8$$+%EC!;K+ONUSDU383U3(O=D(I5!V("T")- $?$D8G( B%43C U55AG'@1
M-..&+6YHQ57;66U6JG8+YX1FST!R3$6!*WX3:ZA17/K0#],!K$&&_ B&9MBH
MA8W>NNB1]D*UZ%Z2> ,PHZY7'#VRN"6+K63'S7P!UIP)XX:-]3>G7A(EP[(T
MZ6 <Q"-UF;2$R0MUF>W*G5I8L@1YN<4Y5WYB+,=$7[O04Z4V!'U9UP--6]#T
MK*DTH:5GKK)1-[[*T.L:OF>%NV,E$3+/P+_WI%P0_I^Q-5MS5-\MKL469V3J
MJ"\/@O GXLQ^_@E&WB^FOOI>V?HC/K$X^-8]UT2>3G.:AD$P+!2#+O90Z(]T
M X@Z-O3>O;;)V&^V\*3I-\@&6:H:V%@!=;8%[;[UVG[;I.OMLA0.O<&DBKVQ
M^>VL#-J]S+;VNAU!#T91& _1=.&@2/IPG7%!NW.=T7*A;D,PA&D2#ON%21BD
M2>3'(Y2=8T&[99W?=J%N3:J?^C#UA[ O"_NPG8G!\US,B&?P)?."ZT+K@G<&
M!NT.IKY7$T[KG8(+>P.V)GIU WZG;/UA=W8([7YHVX2ZSP4P0+Y6W@8_#%$T
M5C"HLT-DM\,W-. F8X_9']:0080254(CVQ%U;H;L;O;:]HMTZ[KT/=WB3#J$
M4NB- '<6A^P69UE]I'N4GP0(#?N%03>HDCY;YV7([F5G=&"D&Y.?)(FOS9^N
M"V"2!"._;E!G8>BEGV/G]E^D&]5E$$$X)'U)U@?M[ R=9V=&M%#[J6I>:5UG
M7&GWY,BC)'Q=GP0)D%5'$X<3@?9I>]IT4Y^Q#)[?PNOYX<RH2W,XPKK'?)VK
MIE"0E4KI7<4*BA].A0XWDFWK@Y4%DY*5]>6&X"7AE4!]OF),'F^J%[1G<[/_
M 5!+ P04    " !C@E96?5Z9TW<%  "+'   &0   'AL+W=O<FMS:&5E=',O
M<VAE970V.2YX;6R]6=MNXS80_17"7119((Y$4M?4-I XW39 $P2;;(NBZ -C
MT[:PDN@5Z7C3KR\E*Y(E4LSZDKS8NLP,SZ$X,T?B8,VRKWQ!J0#?DSCEP]Y"
MB.6Y9?')@B:$G[$E3>6=&<L2(N1I-K?X,J-D6C@EL85LV[,2$J6]T:"X=I>-
M!FPEXBBE=QG@JR0AV?,EC=EZV(.]EPN?H_E"Y!>LT6!)YO2>BB_+NTR>6564
M:930E$<L!1F=#7L7\'R,4>Y06/P9T37?.@8YE4?&ON8GU]-AS\X1T9A.1!Z"
MR+\G.J9QG$>2.+Z507O5F+GC]O%+]$\%>4GFD7 Z9O%?T50LAKV@!Z9T1E:Q
M^,S6O].2D)O'F["8%[]@7=K:/3!9<<&2TEDB2*)T\T^^EQ.QY0"]#@=4.J"V
M@]/A@$L'7!#=("MH71%!1H.,K4&66\MH^4$Q-X6W9!.E^6.\%YF\&TD_,;IE
M@H(0],%OC$W741P#DD[!=2I(.H\>8PHN.*>"2X/[S8,&;*:Y?7)%!8EB_E$:
M?KF_ B<?/H(/($K!PX*MN S)!Y:0</-!K4D)[7(##75 @PC<L%0L./@UG=)I
M,X E>59DT0O92V2,>$4G9P##4X!LA#2 QC_N#@UP<#7WN(CG=,3[%*61H/U8
MKN.IG*MJ3DDQIZ=@GC&NG;=-6+<(F^?ITP@Z/H).,+">MNEH[4+D>Y5= [=3
MX78.PDTFDU6RBHF0MTG",A']1_*<U5'9C.1M0>Q[7NB[;HN*QL[U/ >[>BIN
M1<4]B$I*A0ZUJZ );(1#W *MFH40!0[48_8JS)X1\[7,AMDV;I&1*4U)0DUK
MQE.P2"@8P1;D5\T:D/T*LF^$_, $B7=:XKZ*P[-MQPM;>+5VOAOZ>L!!!3C8
M#W#'@@B43 NQ[4.GA390T=H.A![2HPTKM*$9;;X P&V^ L _-S1YI-F_.I3&
M*+E@..=+,J'#GE0$G&9/M#?Z^2<YG[_H:N61@C4(0[MN6_9!B;OB=+:*01S-
M*#CYFY+LH[8!F0>!#GB6KKH%.C:[[LM_JVW#M^D=9=Q&4W!]WVT7@M*NF5G(
M];!^J4)4(T?OUCW*H9IM(0B4JJ:S<WSL=I&I.S@\K(5WE NH=N8PD!6C#1NK
MSP"Z"-H=L.L&#LT=?%P(2YJ!/R(NS#7#'&G7HG&L:$W>=;>'A[7['ZP:YD$@
M-%0-H^N^_&OE ,W28?^JX2D+5A8-9+<5#U3U@^OCL'/%U@("FA7$4:N&*AKZ
MV)>:WFNST1EB%P9!!YU:7D"SOMBW;J@Z ]E>&/AMX*K00#CP48?.@+70@&:E
M<2<G.)45(W])?*"31<IB-G\V%Y"CJHYC16N^/]:R [V'['AE$)/L,+ONR[^6
M'>B-9 =298?GN=MRHN2GR@[/0[CKG0G5L@.]G^Q &CDANW)@MPN(SA#*?/4Z
M"@BJA0=Z$^&!5$7AN([OM@N(SBY$4C)UX*Z5!WI%>;!DN1)2>=RSF5B3C)XJ
M7Y.,U<0<?M=J<JQHS<FHY0@Z3(YT9Y/Z94&^2"JK[Q6K)NI:1*##1,1.F:3J
MA;Z.R6MF32JUJD"'J8JN+/*58M:6[DB5#AT:"-6B 9E%PRU+)S)]J)"),L\H
M38I6;,P68\"=L^5(T9KT:^V!S-KC2+W7/(AK:+UO(3UP+3WP8=*C^VNQK:Q6
MWW:#]A?6TFQ[Q?JA SMR#->2 1\F&78I%UA5!WT4!%Z[7NCL( J#CA3$M8K
MAZF(CH)11MU^! [T8?MCIL8L_\;=?@36UG:/?(F?%[M@'$S8*A6;G9_J:K73
M=E'L+UFU^6:;[H9D\RCE(*8SZ6J?^7+L;+/SM3D1;%EL'CTR(5A2'"XHF=(L
M-Y#W9XR)EY-\@&K_<?0_4$L#!!0    ( &."5E9F^C !' (  -X$   9
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
MN?:D^O%/X]1K8VK#_O.3]U\K> 6SQ(+<L/Q/NI+;N9=Z8$76>)_+S^SX&VF
M)MI?QG)1_8)CTS;P0+87DA6-L>I!0<OZ'W]O!J)G *,7#%!C@%P-PL8@K$#K
MGE58MUCBQ8RS(^"ZM?*F'ZJQJ:P5#2UU&A\E5V^ILI.+WYDD  ;@ MP1-1I"
M/=QCN>=44E5@Z[H:Y!0O:5Y7OKTE$M-<O%-MOS[>@K=OWH$W@);@RY;M!2Y7
M8N9+U34=P,^:;GRHNX%>Z,8MR2Y!"-\#%"!TPOS&W1P^-_?5@+2C@MI1096_
MZ 5_RDWX'JQIB<M,P>LA.,54.YE43O1\.2RB*$UF_J'?<VLD/4NOQ YG9.ZI
M:2@(/Q!O\?-/, Y^L7"$+4?HP*'F/,>2EIN:Y&1Z:C]Q#R6,4) .6*S11K)$
M+4OT&DODD)/( (D0"@<<UD@C.28MQ\2!PR4G$S,G01I& Q9KM)$L<<L2O\8R
M<<A);(+$X73 88TTDB-I.1('#I><) 8*"L(T'K!8HXUD25N6]#66V"$GJ9D3
M& [7+FNDD1S3EF/JP.&2DZF!,DTGDP&*-=A(%!ATNVSP&DSBD)3&R[//:XJ&
M,\4>:RQ+3S% !Q:7Q#2.^CAI:"Q@]G!C<;JM'MKW^NNU)!R<V/%/(R$S0U$4
M#+\V>\RQ3-VV#^W[?I_)*5'F]@^C)!INF_:H8ZDZ 0#M"N +DSC7(I@6^Z*F
M 3O\0QTJI'#*W2EMD*)@2'D.=0 [>0#M^L!.Z91-4SA F(:Q 7H.Z0 [[0#M
MXN%CJ3Y2(B3(6+%CI>(["6.*APLXB0(#YASZ 78" MH5A".,*1\NH#HS&!/M
M' ("=@H"VB7$@W9:2G# ^9[H0^!_F'.FSD!)9,ZYU#A*A5.8=,OJ<Y).0T"[
MB/@DMVHAO,XROB<K<-<[Q:IS*OC43J;ZE%O5519WK-Q<J(P6SVS^NB?%DO"_
M3X+^3P*C&8]SR!74R15DERO.'X#+<M3$ZN<6*LV<& ?ED^VF<#KX"/S>;8>^
M:KK'?$-+H7JP5H;!9:(\\/KVIBY(MJLN0)9,2E94CUN"5X3K!NK]FC'Y5-!W
M*NT=VN)?4$L#!!0    ( &."5E8^8%/9>@,  "(/   9    >&PO=V]R:W-H
M965T<R]S:&5E=#<V+GAM;*V776^C1A2&_\J(KJI$RH8O?Z:VI<10M1?9C3;9
MKJJJ%V,XMD<+#)T9;&=_?<\ (;:#IW'%C8'AO"]GGC,,/I,M%]_E&D"179ID
M<FJME<IO;%M&:TBIO.8Y9'AGR45*%5Z*E2US 30N16EB>XXSL%/*,FLV*<<>
MQ&S""Y6P#!X$D46:4O%\!PG?3BW7>AGXPE9KI0?LV22G*W@$]35_$'AE-RXQ
M2R&3C&=$P')JW;HWX5C'EP%_,-C*O7.B9[+@_+N^^#V>6HY."!*(E':@>-C
M'))$&V$:_]2>5O-(+=P_?W'_M9P[SF5!)<QY\HW%:CVU1A:)84F+1'WAV]^@
MGD]?^T4\D>4OV=:QCD6B0BJ>UF+,(&59=:2[FL.> 'W:!5XM\(X%@Q,"OQ;X
MQX+>"4&O%O3>*^C7@G+J=C7W$EQ %9U-!-\2H:/139^4]$LU\F*97B>/2N!=
MACHU^\05$-<E'\F#X'$1*?*-"D$S]4P^+Q*VHKJ<DEP$H"A+)'F"G2IH<HF"
MKX\!N?AP23X0EI&G-2\DS6(YL16FI<WMJ$[AKDK!.Y&"3^YYIM:2A%D,<8M^
M;M:[GL' 1AX-%.\%RIUG='R$_)KXSA7Q',]K2\@L#R!"N7M2'KQ?[K;(P_?+
M'0,,OUDA?NG7.P5#85FIB-\ND-LH$K@6KEY',&3#]!;2M@JJQ_3+Q^CM:S/S
MA[X_FMB;?;3OB@J,*>N]]4;F-(*IA9NG!+$!:_;S3^[ ^:6-9T=F!W1[#=V>
MD>Z<YDS1A/V F,QQ%0O<.?%$JBOR"?#GB>/=-II&VS,)S"NSP1[TL3L>'S'O
MO:G,J#<\"@H[2NN 9;]AV?^_+&]3+A3[4>YF;32-QN?2[+\!Y8Y][XAF2]#0
M/Z;9$N0[?A-T0&G04!H8*=VSC*5%2OZZAW0!XN\V'$:'<W%T:19T:19V9'90
MAF%3AJ&Q#.%.@?Y<O6Z>3R!2<O$G4''95A.CW;DU,>?6)\^81=NG/.@RB[ C
MLP/^HX;_R/P:T-U_O@9&AW.1=VD6=&D6=F1V4(9Q4X9QMZ^!T>[<FIAS<YW3
M[T&7:80=F54%L/>:@13$JNS")(EXD:GJ+W SVC1ZMV5_<S0^QP:PZM=>;:KN
M\9Z*%<.N(($E6CK70_Q"B:HCJRX4S\N68\$5-C#EZ1J;6! Z .\O.;8=]85^
M0-,6S_X%4$L#!!0    ( &."5E856FPA=@0  +(.   9    >&PO=V]R:W-H
M965T<R]S:&5E=#<W+GAM;*U72V_C-A#^*X210P+L1J(DZQ$X!I+811?HMD'2
M[1Z*'FAI;!,KD0Y)VTE_?8>R(ML2[>:PA\0B^<UPOB$YC]%6JA]Z"6#(:U4*
M?3M8&K.Z\3R=+Z%B^EJN0.#*7*J*&1RJA:=7"EA1"U6E%_A^[%6,B\%X5,\]
MJO%(KDW)!3PJHM=5Q=3;/91R>SN@@_>))[Y8&COAC4<KMH!G,-]6CPI'7JNE
MX!4(S:4@"N:W@SMZ,Z61%:@1?W'8ZH-O8JG,I/QA!U^*VX%O+8(2<F-5,/S9
MP .4I=6$=KPT2@?MGE;P\/M=^R\U>20S8QH>9/F=%V9Y.T@'I( Y6Y?F26Y_
MA8;0T.K+9:GK_V3;8/T!R=?:R*H11@LJ+G:_[+5QQ($ #4\(!(U T!6(3PB$
MC4#8%8A."$2-0/11@6$C4%/W=MQKQTV88>.1DENB+!JUV8_:^[4T^HL+>U&>
MC<)5CG)F_+LT0"@EG\FCDL4Z-^0[4XH)\T;^F)5\P>QQ:EQ^@ER*G)>\GB%R
MWA?XC;,9 O#K<@*&\5)?H>"WYPFYO+@B%X0+\N=2KC43A1YY!JVW-GAY8^G#
MSM+@A*4T(%^E,$M-IJ* XEB!A[1;[L$[]X?@K,8)Y-<DI)](X >!PZ#)Q\6I
M0WSZ<7'_#)NP/<FPUA>=T'?/2B9R(,R0&2RX$%PL[#&M0'%9N/R]TS>L]=F
MLAEG44##D;<Y=$(?-<P"FAZCIGU4E(4T;E%'E**64G26TOL-V[[?, 4:U 8Y
M:@QL4-@;Q?*7-=?<7DH7Q]T&\8%=?H=?'Q%F8="AUP?1('*3&[;DAN?)L3<,
MN,;Y$H:][3XG293$'=,=L"B(TZ[Q#E@81MF)PXE;^^/_.YP-K_,%IJO]$7$\
MFN[KW)&*>V:D?AAUCZ./BK,@[:"F?504^%GH9I2TC)*SC!Z63"Q VUL%VG#,
M0CBPY# %?X97CG/XI!JF'-<NZ96#Z/WY7?ZF_[B\D_09(:&HXQT'*HJ''>?T
M092FU.V;M/5-^M'H J(X'U?2_OYAZE/:X=*'.<+/M(\Z#C]';+*63?:38V7F
M\"F-HZ3#J0]+LR3M!LL^*DF3\ 0GZN]3N7^6U03FH!2&104;$&L@F+&-PE),
MGWF5C<[CIY3&68>8"T:'<?==.F!!G,6GJ!U4*?0LM;M**L/_;6N/XB15)T?:
MCX !3?QNJG/A:);XM,O2A1MFIVXE#?8T@Y_VRAI5PZ-G%J2]_.W".:[NU($[
MOKO'G&Q9<CRSS^KT?%K'"/A%Y.6ZP!#*B%Y!SN<\WZ>059M9%!:="HL]4JR5
M?:)F"?C'54%>UDP94-9%MGJS,=LNLDJNA;&S%V'R*0Q38B1A18&%@R8Y**Q*
M!<E+8!CB!:A%O5E=8R@H,=X76%L;U*NO7169=U!G5RA=-SBHU^ZYJVK:V;:)
MNJ];A\[\@VVN'/-W-+R9T-"Y$N%*W21X^ZUWW=Q7IC"&:5+"',WPKQ,\0[5K
MD'8#(U=U!S"3!ON)^G.)324H"\#UN<0NH!G8#=HV=?P?4$L#!!0    ( &."
M5E;?06:S_P$  ,T#   9    >&PO=V]R:W-H965T<R]S:&5E=#<X+GAM;'53
MWV^;,!#^5TZH#ZVTQ4#6K:H(TM)LVAZV1<FZ/CMP@%5C,]N$]K_OV1"42<L+
MOCO?]_'=#V>#-L^V073PTDIE5U'C7'?/F"T:;+E=Z X5W53:M-R1:VIF.X.\
M#*!6LC2./[*6"Q7E68AM39[IWDFA<&O ]FW+S>L:I1Y641*= CM1-\X'6)YU
MO,8]NL=N:\AC,TLI6E16: 4&JU7T.;E?ISX_)/P1.-@S&WPE!ZV?O?.]7$6Q
M%X02"^<9.!U'?$ I/1')^#MQ1O,O/?#</K%_#;53+0=N\4'+)U&Z9A7=15!B
MQ7OI=GKXAE,]MYZOT-*&+PQ3;AQ!T5NGVPE,"EJAQI._3'TX Z3I!4 Z 4(C
MV/BCH'+#'<\SHP<P/IO8O!%*#6@2)Y0?RMX9NA6$<_E/[1"2!-[#UNBR+QP\
M<6.X<J_PZR!%S7WO+%WOL-"U$J&5NH(-5F@,EA0_HNJ13LD=^4[#EQ>'JB1[
MHA)HX7J#C@MI;^ *A(+?C>XM5Z7-F*,JO!963(K7H^+T@N(-%@M8)N\@C=,4
M'O<;N+ZZ^9>&41/F3J1S)]+ ^^$"[ZF0#DW8=54@Z+D%_],Y\MT&/K_\QSQ9
MIG?),F/'<QWL;#I^T7]P4POJJ<2*@/'B$S&8<7E&Q^DN#.R@'8T_F V]-S0^
M@>XK34.;'+\#\PO.WP!02P,$%     @ 8X)65FI_0#7Y @  60L  !D   !X
M;"]W;W)K<VAE971S+W-H965T-SDN>&ULQ99=;YLP%(;_BL6JJ97:@IW/9@E2
MVVS:+K9%3;M>3+MPX)!8!<QLYZ/_?L= *5M#-$61(D7!QCYOWO,<@L]P+=63
M7@ 8LDGB5(^<A3'9P'5UL("$ZTN908HKD50)-SA5<U=G"GB8!R6QRSROZR9<
MI(X_S.]-E#^42Q.+%":*Z&62</5\ [%<CQSJO-RX$_.%L3=<?YCQ.4S!/&03
MA3.W4@E% JD6,B4*HI%S30<WE-F ?,</ 6M=&Q.;RDS*)SOY$HX<SSJ"& )C
M)3A>5G +<6R5T,?O4M2I?M,&UL<OZI_RY#&9&==P*^-'$9K%R.D[)(2(+V-S
M)]>?H4RH8_4"&>O\FZS+O9Y#@J4V,BF#T4$BTN+*-R6(6@!C#0&L#,A!N,4/
MY2['W'!_J.2:*+L;U>P@3S6/1G,BM569&H6K N.,_TT:()22"S)1,EP&ACQR
MI7AJGLGW62SFW++3N'P'@9RG(D<I(S*&")2"$.^O(%T"7F-N<&XD^;@QD(8X
M+J4$:,+(Z1@,%[$^(R=$I.1^(9>:IZ$>N@;SL&[<H/1\4WAF#9['$%R2%CTG
MS&.,/$S'Y/3D[&\9%S%4+%C%@N6Z[0;=EU0R4/GCG@9 9 5AF\]"KY/KV>=_
MY=,6Z]/6T%UM\=&J?+3^Q\<Y,K7_*Y'.R:1FZ;4NYX@ZP\<;4=^+Q.[#RDQQ
M24<\*#9,#5>&X*,!Y.?U1NA? TNM=>%1_&Q+::<U^XX8Z(P','+P):!!K<#Q
MW[^C7>_#C@*TJ\3;!RY H=>M%:#EL2NZG7^GLM$Y,O]V,_^=UO;DWZT2[QZ8
M?_<-?]9N]]AV_KW*1N_(_#O-_'=:VY-_OTJ\?V#^_;?\&67>=OY7E8VK(_/O
M-O/?:6U/_M1[/0V] U>@%*R7@/;Z7L,10&OG,CUR$7K-1=CM;=\JO)[#]- '
M,7U[$K?ZE/7^J8);:Y1LT_F5J[G ]B:&"..\RQX*J**/*R9&9GGO-),&.[%\
MN,#>%Y3=@.N1Q/ZIG-AVK.JF_3]02P,$%     @ 8X)65A^XSK[" @  +PL
M !D   !X;"]W;W)K<VAE971S+W-H965T.# N>&ULQ59K:]LP%/TKPH/105L_
M\FJSQ- V&]N';:'95L;8!\6^MD5MR9.41__]KA37\Z!V1@@$0O2Z]_B<>^3D
M3C9"/JH,0)-MD7,U=3*MR['KJBB#@JI+40+'DT3(@FI<RM15I00:VZ0B=P//
M&[H%9=P))W9O+L.)6.F<<9A+HE9%0>73+>1B,W5\YWGCGJ69-AMN."EI"@O0
MW\JYQ)5;H\2L *Z8X$1",G5N_/&M;Q-LQ'<&&]68$R-E*<2C67R,IXYG&$$.
MD380%(<UW$&>&R3D\;L"=>IGFL3F_!G]O16/8I94P9W('UBLLZESY9 8$KK*
M];W8?(!*T,#@12)7]IMLJEC/(=%*:5%4R<B@8'PWTFU5B$:"WV])"*J$P/+>
M/<BRG%%-PXD4&R)--**9B95JLY$<X\:5A99XRC!/AY^%!N+[Y(+,I8A7D28/
M5$K*]1/YLLQ92DWM%![?0R12SFPI14)FD("4$./^&O@*<,RIQK46Y-U6 X]Q
M7D$Q4.1L!IJR7+TA9W,J@>L,-(LH;DQ<C3H,&S>J.-_N. <MG&<079*>?TX"
M+PC^37=1?EV#H*Y!8/'Z+7B5A'/48.XQXRF9@[0WGD?0J,,Y2BOQ.J&TKZPP
M<5B)!1ZIA$:[@(6F4A.T LC/FRU3O\:&9>_"\_'SDM1.:N:='*N21C!U\*53
M(-?@A*]?^4/O;8?P7BV\]S_"2=E0BW,F8G+V ZA\T9MN2)\\86('MW[-K7]B
M4_KMIG12.]"402U\<'Q3NB'WFC*LN0U/;,J@W91.:@>:,JJ%CXYO2C?D7E.N
M:FY7)S9EV&Y*)[4#3;FNA5\?WY1NR+VF^-[?/U;OQ+:,VFWIYG:@+WZCJ?"/
M[\P>S'9KW$;[8UK)3U2F#)N6'!)$\BY'^.LH=]W9;J%%:3NBI=#87]EIAATM
M2!. YXG KJA:F":K[I'#/U!+ P04    " !C@E96\'A&7R<#  "0"P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970X,2YX;6RU5FMOTS 4_2M60&A(;(F=9T=;
M"9HAD'A4VX#/;GK;6G/B8+OK^/?8:1:U258Z5+ZT<7S.R;W']UIWN!'R3JT
M-'K(>:%&SDKK\M)U5;:"G*H+44)A=A9"YE2;I5RZJI1 YQ4IYR[QO,C-*2N<
M\;!Z-Y7CH5AKS@J82J36>4[E[_? Q6;D8.?QQ35;KK1]X8Z')5W"#>COY52:
ME=NHS%D.A6*B0!(6(^<=OKR*+;X"_&"P43O/R&8R$^+.+C[-1XYG P(.F;8*
MU/S=PP0XMT(FC%^UIM-\TA)WGQ_5/U2YFUQF5,%$\)]LKE<C)W'0'!9TS?6U
MV'R$.I_0ZF6"J^H7;6JLYZ!LK;3(:[*)(&?%]I\^U#[L$'#P!('4!'(LP:\)
M_K&$H"8$QQ+"FE"E[FYSKXQ+J:;CH10;)"W:J-F'ROV*;?QBA:V3&RW-+C,\
M/?XJ-"",T3F:2C%?9QK]I%+20O]&WV:<+:D]3F6V4UB E#!O<+O;9REHRKAZ
M;8#?;U)T]O(U>HE8@6Y78JUH,5=#5YMH[3?=K([L_38R\D1D*607R,=O$/$(
MZ:%/CJ?C'GIZ/-WKH5\=3<>#?;IK3J@Y)M(<$ZGT@B?T)FOC?:%1*6357^>F
MPS*Y-L=1UL>QJ8^MS^BM=EAIVXOC?IP,<&!<N=_ULXL*!UY(]E'IP3CMK7:I
M2IK!R#'7E@)Y#\[XU0L<>6_[3#R1V)ZE?F.I?]#2SZ)8GFN0^8ZI0J] (M[L
M<$9GC#/-H+> MQ^(=AP+DB3V6KYV47Z(HY;[Z<%@G^OKB<3V? T:7X.#OMX*
M37F?6T''!^PG'FZ781<V" CV6W8%/<5*<+*/NNJB@H&/HP:UEV#8)!@^LQ>W
M9?/8D7\IFK!;#AX9M%WHHH@7AE'+A8.!/K=H3B2VYVG4>!K][V:,NN7ED9"T
M[J])%S; 7MO^]&"TSS7V1&)[QL:-L?&_=6/<:0WLDZ3=9Y,>&,91$+?\ZL*2
M09RTV[&+BI/83UKMZ.Y,,W96_4+EDIDA@\/"\+R+V C([?RW76A15@/.3&@S
M+E6/*S,R@[0 L[\09LBI%W9F:H;P\1]02P,$%     @ 8X)65A/F=G G$
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
MZVNN-]?=P.S5^[]:YO\"4$L#!!0    ( &."5E99!<ZHHP0  %D:   9
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
M-%[+=KC AQ-(8X#?9P(OT^W$!"B?8L,_4$L#!!0    ( &."5E;-=W]%_ ,
M  ,/   9    >&PO=V]R:W-H965T<R]S:&5E=#@Y+GAM;*U776^C.!3]*Q8[
M6K723,'F*W03I";,:.=A5M6T,_OLPDW"#N"L[23=?[\V4!+ 0575EX2/<R[G
M7)O+O?,CX[_$%D"BY[*HQ,+:2KF[M6V1;J&DXH;MH%)WUHR75*I3OK'%C@/-
M:E)9V,1Q KND>67%\_K:/8_G;"^+O()[CL2^+"G_;PD%.RXL;+U<^)YOME)?
ML./YCF[@ >2/W3U79W87)<M+J$3.*L1AO;#N\&V"/4VH$3]S.(JS8Z2M/#'V
M2Y]\S1:6HQ5! :G4(:CZ.\ *BD)'4CK^;8-:W3,U\?SX)?J7VKPR\T0%K%CQ
M=Y[)[<*:62B#-=T7\CL[_@FM(5_'2UDAZE]T;+&.A=*]D*QLR4I!F5?-/WUN
M$W%&P,$% FD)9$CP+A#<EN"^EN"UA#K5=F.ESD-")8WGG!T1UV@531_4R:S9
MRGY>Z75_D%S=S15/QG\Q"0C[Z!/Z6J6L!/1(GT&HTWO.#GF]NFIS]6]>)2!I
M7HAK!?OQD*"K#]?H \HK]+AE>T&K3,QMJ;3I)]AIJV/9Z" 7=&""OK%*;@7Z
M7&60]0/8RE3GC+PX6Y+)B FD-\C%'Q%Q"#$(6KV>C@WTY/5T9\*-VZV36\=S
M+\1;[3F'2MZ:,MLP/3-3%XY;L:,I+"Q5&03P UCQ[[_AP/G#E)7W#):\4[!>
MQKPN8]Y4]/@+9,!I84I80_1KHBZ,AQCCF:O7Z7">"@/,\8D;]&')&!:0$'L=
MJJ?>[]3[D^H?))5@TM[0@K.G$3_TW(%T PJ3R!\H'Z.PZX38K#SHE ?3>6=<
M%=O*I#T8/<]7&1VH6HU1"C3*N@$5A1>2'G;2PTGI[4MV5NW0YV?UA16 KI90
MP3J7UQ_1(Y/F;14:)/EJ9PW\&6!NZ 3AP. 8%H:A'YD=SCJ'L\DRDL :E,?,
M6$=F[UE'WC-8\D[!>BF+NI1%;ZTCT6B)/GFN%PXW]!BF-O1P6R1C%'$\GYC7
M&SNG[[OSMD+2\GKJL1,%@Q=M9<*Y(1G*-\ P.:M+??EG[0E^:S5IF?WT.\K"
MT( !%\X"=VC  ,.JIEQP0$X.R*2#EU=NLJJ@):@V"]!=]H_J^4I=A-@:_:3%
MGM;M\5VA&G1:I>:5)&/ED>?[P^^9"8>=<)2(,4SMQ&AV(1&G#@9/?N[CU996
M&]!]XJ'S12=]N09?(1FZ,J"PXP[+J0$6XN""IU./@:>;C'Z7G#<K+'67;#0T
M;A6BR(]&;YRA\7"]R!]9,H2;1>'PG;//IH,2^*:>L@1*V;Z233O=7>TFN;MZ
M?AE<7^H)KYXZ3F&:\? ;Y9N\$JB M0KIW(1*$V\FKN9$LET]@SPQJ2::^G"K
MIE3@&J#NKYF:0]H3_8!N[HW_!U!+ P04    " !C@E96:X<(H3($  "I#@
M&0   'AL+W=O<FMS:&5E=',O<VAE970Y,"YX;6R5EVUOVS80Q[\*811#"RR1
M2#UWCH'$QM8 6Q<D:?>:EFB;B$1J)!VG^_0[RJKL2)2:OK%%Z>[TXU%W?W)^
MD.I)[Q@SZ*4JA;Z:[8RI/WJ>SG>LHOI2UDS DXU4%34P5%M/UXK1HG&J2H_X
M?NQ5E(O98M[<NU.+N=R;D@MVIY#>5Q55WVY8*0]7,SS[?N.>;W?&WO 6\YIN
MV0,S7^H[!2.OBU+PB@G-I4"*;:YFU_CC$J?6H;'XRME!GUTC.Y6UE$]V<%M<
MS7Q+Q$J6&QN"PM\S6[*RM)& X]\VZ*Q[IW4\O_X>_?=F\C"9-=5L*<M_>&%V
M5[-TA@JVH?O2W,O#)]9.*++Q<EGJYA<=6EM_AO*]-K)JG8&@XN+X3U_:1)PY
MX'#$@;0.Y*T.0>L0-!,]DC736E%#%W,E#TA9:XAF+YK<--XP&R[L,CX8!4\Y
M^)G%9VD8PA&Z0+<BEQ5#C_2%:1@N955+P8312&[0BFV84JRPC]&UU@QN4U&@
M/SE=\Y(;#C[O5\Q07NH/X/WE887>O_N WB$NT.-.[C58Z[EG -F^V,M;O)LC
M'AG!6['\$@7X5T1\0ASNR[>[X]?N'B2JRQ;ILD6:>.%(O.L\5WO( GN!,M+,
M.:%CA*B)8(OH>1'&61;.O>=S[J%5D"19TEF]P@LZO& 2KULEQ9Z9V#,7WC%"
M?/[B,,-]O*$527P_<..%'5XXB7<K@,I(Q=V)"X?OA$7/>F1#*QQF_DCBHHXL
MFB1[,#)_NK#MH$!0!79QJ>TR+LQH"("3R.]A.JQ\F(X;,^XPXTG,OVNF@$ML
M42GUL0!S6&YN4$Z5^@9-_4"5N\SB 4\4DZ2?W*%5G 9QZJ9..NIDDOJ&%M!8
MU\:%E3A6$T<]*H<1B4:^Q;2#2J=3:79,V7Y_+!@#;8TV;<U%F0X DBC /<JA
M$29DK&2R#C.;Q%S2FAM:\O^ \?X76M6_K5R V;"H@R1(>X1#*]]-A_V3>OB3
M?%]IN:='/2YA1T!%[FPZ;93S5U^$\0#099:D23A">:9Q>)+R44(.W[K8;:S7
M?2@EF/1AAW88IA1E([0GC<'3(O.'E,6!EV53WUP8*K9\7;(I9#)$COTD[!>2
MPRX@*8Y'VA(^Z0[^D?# 'C+GHST3#_4D#"%7?3Z'[. @'/M*3[J#IX5G!=W'
M[CFY@ _4ML]<ZI%,.N0%IWUU=%B1#,<CF"<1PM,J="L,4TP;I ^T;E:_8(H_
M4[O1=<(Z1(8$25^*'&9C&3T)$9Y6HCO%:LJG-T)XJ"8D3((^W= *Q_%8R9\T
M!T^+CJ/DR]->U8D[E)F 8!PE?6"'711"AQA!/BD2GI:DSW!H^RG@=+"'O,"8
M9,.R=QEFL+?JBY-W=HZPA[B_J-IRH5')-N#I7R800AW/1<>!D75SM%A+ P>5
MYG('9TFFK $\WT@X7K0#>UKI3J>+_P%02P,$%     @ 8X)65B^$'2KH @
M? @  !D   !X;"]W;W)K<VAE971S+W-H965T.3$N>&ULM59=;]HP%/TK5M2'
M5FK)!Q#2"I *;%H?.E6EW9Y-<B%6$SNSG<+VZW?MI!D?(9HF[87XVN<>G^-P
M?3/>"OFF4@!-=GG&U<1)M2[N7%?%*>14]40!'%?60N948R@WKBHDT,0FY9D;
M>%[HYI1Q9SJV<T]R.A:ESAB')TE4F>=4_IQ!)K83QW<^)I[9)M5FPIV."[J!
M)>C7XDEBY#8L"<N!*R8XD;">./?^W3PR> OXQF"K]L;$.%D)\6:"AV3B>$80
M9!!KPT#Q\0YSR#)#A#)^U)Q.LZ5)W!]_L'^VWM'+BBJ8B^P[2W0Z<2*')+"F
M9::?Q?8+U'Z&AB\6F;*_9%MC/8?$I=(BKY-10<YX]:2[^ASV$OSP3$)0)P3'
M"8,S"?TZH6^-5LJLK075=#J68DND02.;&=BSL=GHAG'S%I=:XBK#/#W]*C00
M?TANR ./10[DA>Y 8?C*)<1BP]DO2,PDF0&'-=.*7"Y 4Y:I*X-:+LCEQ16Y
M((R3EU24BO)$C5V-TLP&;ES+F%4R@C,R_( \"JY313[Q!))# A<]-<:"#V.S
MH)-Q 7&/]/UK$GA!T")H_O?I?H><?G/.?<LW.,-W<)P:CW-5'><U#C:,<\8W
M1*Q) 9*)I.W\*OJAI3>E^3Z-PL%H[+[O>SH%C4*_WX .E \:Y8-.Y?B_P.M!
M@7G#Y1D7!*\34@C%3&DJ7'D#;O %NI$=IJJ=PSV]M\>63B'!*&AW-&P<#?^;
MH[B4$KCN\#1L\30\,M6"N?7:386-J;#3U%)376(MXY\H8SG#R-R2L"N8M,/6
MH@Q/=-Q$P>!(; LH"*)VM:-&[:A;+6B= 78#W:IK=+*E=R2J"W&@*&H41?]8
MH,"3[M*,3DLSNCU^Y2V@_?JM-+M[%WD.<F/[FR*Q*+FNKKYFMFFA][9S',W/
ML+56G? /3=67'ZG$^T:1#-9(Z?5&*$E6O:X*M"ALNU@)C<W'#E/\/ !I +B^
M%M@RZL!LT'QP3'\#4$L#!!0    ( &."5E;01>/'0P0  /8/   9    >&PO
M=V]R:W-H965T<R]S:&5E=#DR+GAM;)U7WX_:.!#^5RRDD_:D;GX18%FQ2+O
MZ?K0WHJ];1].]V"2@5A-;&H;V/[W'3O9 *D34%\@=N;[/-\X'L],#D)^4QF
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
M+@88DJJ[CWIBY-K5XX4T6-W=L,"&#90%X/.EQ)K<3.P&;0LX_@-02P,$%
M  @ 8X)65BLW3C-6"0  >4H  !D   !X;"]W;W)K<VAE971S+W-H965T.30N
M>&ULS5QK;^,V%OTKA%LL,D!JB]33LTF Q)+:*9!I,)GI8+'H!\5B8F'T2"DY
MC_[Z4H]8)L70UN1ZM_-A8LOW'I'W7))71Z).'@OVK5Q16J&G+,W+T\FJJN[?
MSV;E<D6SJ)P6]S3GO]P6+(LJ_I7=S<I[1J.X<<K2&3$,9Y9%23XY.VF.7;&S
MDV)=I4E.KQ@JUUD6L><+FA:/IQ,\>3GP*;E;5?6!V=G)?71'KVGUY?Z*\6^S
M#4J<9#0ODR)'C-Z>3L[Q^] R:H?&XO>$/I9;GU'=E9NB^%9_^1"?3HRZ132E
MRZJ&B/B?![J@:5HC\7;\V8%.-N>L';<_OZ"'3>=Y9VZBDBZ*]&L25ZO3B3=!
M,;V-UFGUJ7C\A78=LFN\99&6S?_HL;,U)FBY+JLBZYQY"[(D;_]&3UT@MAR(
M_8H#Z1R(Y("M5QS,SL'<U\'J'*Q]'>S.P=[7P>D<G";V;;":2/M1%9V=L.(1
ML=J:H]4?&KH:;Q[@)*\SZ[IB_->$^U5G'XN*(NRBG]#U*F(47:517J(CGU91
MDI;H,WVJUE'ZCO_^Y=I'1S^^0S^B&2IKVQ(E.?J2)U5YS _RSY]7Q;J,\K@\
MF56\:?4)9LNN&1=M,\@KS< $719YM2I1D,<T%@%FO$^;CI&7CET0+:)/EU-D
MXF-$#$(4#5KL[XX5[O[^[H;"/="[_[K.IPB;M3N>*]Q#O7M(;[B[T;@;FEB:
MFR0Q&SSK%;PF-7ZJ!W",%D7&9[4R:N:%<\:B_([RF:9"-\]HV^XJ>FX.GS]&
M+#Y&']?9#66HN&V-2G2^KE8%2_[BID<\=]J,>J?*'&W;ZIGW?7D?+>GIA$^M
M)64/='+VKQ^P8_Q;Q3HDF \)%D""A2V8TX#5B\O#V1P;];^3V8,B$:Q-(EA[
M),*%-A'*/A,N5)GPVWWMP>>,G[E+U4PB5Y0E!?_I:[,.<)?S!\KXNH:")\J6
M2<FG)98L:9,H<9&F$2O1/<^F)FF4.=-VP]WJ/_'(E&QZWR;#T,HT[:DK6OE#
M*VR0J2F!!=K(C>4/"$P@V=Z0;&M)OF+%DM*X1+>LR-!U52R_O9"V(216!;V%
MM;<#9;J>(P5]:&5ZKB<'785E>',IYMJ.C(TY$)@0<V<3<T<?\W:,'*//T1/Z
MFE2K59'&27YWK!Y)_6A3\> ,8F<9<V)*/ RM;&]N2%;^T I;<VQ(/&@[-Y8'
M(#"!!W?#@ZOEX:+@<U2]2OD)X[5OP2>:Q2I*> F;H_]>TGH-^T,5<BWJV#4*
M$LR'! L@P4(@,(%G;\.SI^79I[>4,5TY\\@'(?J0Q\E#$O,*^/BE;OE0ENO=
M-8LW6'\]VY67GZ&1Y;CR1#@TPC9Q;6D :GL[EA@@,(&8^8:8^8&(:<J)W<S,
M!_&T#<.3F!D:F;Q_$C-#(VS81((*M-T=RPP0F, ,-OI+10.:&\$R>*H_4^75
MH3%<9[Q!Z:"RLEVI*/"55K;,B[ZO8XF!0A.9V;J(QWO7Y8HBX:7HUBYA^E.,
M7<- T7Q0M  4+81"$ZDG/?7D;=3K1AT9C!1GCK$\ZA16ED/D43>TLCUYS@ST
MG1D=>B T,?2]*H(/+HLT?]#OM*QXL=]=!Z.C_]"(*1<O?8-&CU%]]RSTS-NA
M$O-\T'8$H&@A%)J8%+U"@O>12-Z4%'S$)JQUVIT1D++#8D??L*%)"<B&!*!H
M(12:F!*]GH+U@LK.*;JK8)OK?IK&Z+9@LA" ?KM)D[LV*794N%UKA,+4-=U!
M,34TX_.U)T_K0RMB&>Y@7@=58J#01+YZ+0;O$&.^5P##"K5$H8 IS%02F!)M
MJ('I.S,Z](=07W OOV"]_@*J@W7G$@:"-0C@HC,3Z,".)U_N*<Q<,G=E-D E
M$B@TD8U>),%ZE63GQ/6QR!]X[5(K]NW2M2C*BA^M^#I1H4]T6=SE]2T>7NAD
MQ;KAM:BB5$F6-\QVQYC+5^;Z%H^^KH!$"T#10B@TD?M>A\%Z(0:0^ZZ(J5>U
M[G"[C+U>U.B;1MHJ!,U1UMXSQAZ*HV=56;+00XW.%TBT !0MA$(3[[;WXA#1
MBT.?>"ZP9%GG0[MBZK0&/=;8JA44S0=%"T#10B@TD>->9B+[R$S_RPO>'0TR
M7[T>6>@]1R<%J  %BA9"H8E)T0M0Y(T"%.S53=<:X=$&,E3P%6:>87OR[4V%
MF6NX6!:+]2$83=@A9"O2RU9$K^N UMC=N;;+-N)XIB73H3!SB7Q/VE>8N0XV
M939 ]2(H-)&-7B\B^S]2<^@:NVN*\&2 -Q^2!2F^^*!H 2A:"(4F<M\+0^2-
MPM !:^P=37NIL7%;8R/GU0I;#S0Z6R#1 E"T$ I-S)9>EB([9"G*FB?)\R5]
M65.U-3:D+K0 1?-!T0)0M! *362Y5\"(7@$#J+&W$^621N6:==/)[G);WS9=
MN0WZT!(H6@"*%D*AB?G1:W)$K\D-KK.C/$9CIP9(H6H!BN:#H@6@:"$4FDA]
M+\F1-TIRFEO]';10@!-;OH^S4)AAUYK+-_M59G:SST(LU$$%+B@T<0M$+W"9
M>H'K,LF3;)UI!Y8>8O1>!5!="Q0M $4+H=!$:GM=R]S_\:E_]+:&KA_B7@1S
M*CT-NE"8F<2<.M*-2+^SVQ[&<^GIGT ?NM%$'T*K,GNMRM1K58-U<JMD6G(R
M.3G*L+>HWE:<Y(E3?^+18Q42+0!%"Z'01 JWMJ+IU:O+Z&GW- R[90QVSQCL
MIC'876.'D,+,7@HS]Y?"_MG3L#6<7[$]]6016F%GF=YTH$(K[+#-[>1'/?3Q
M&\WV(<0OLQ>_S!W;S+YS+K8'<[&\KT)_XM$#%E21 D4+H=!$"GM%RM0K4L&?
MZZ1Z1A_RFJ_DH=T]CH[J_]_I)VA0;0H4S0=%"T#10B@TD>]>FS+WT::^[P+4
M'#X^14QY[\9"8>402][AH;#"V/$&I2NH[@.%)L:^UWU,O>[S>46;MP$@]:#3
MCC90N0<4S0=%"T#10B@TD?%>[C'WD7O^;V]=@-1N%J!H/BA:8 XW\A%7?%E"
MEP^'$*"L7H"R] +46V9?:[@GCKC8&+P00;%USG4-25_P%69S/C?)+T0 E8B@
MT-K@S[;>F)-1=M>\VZA$R_H&>ON.F<W1S?N3SINW!DG'+_![OWT+4@_3OI3I
M,F)W25ZBE-YR2&/J\G"Q]CU'[9>JN&_>RW-35%61-1]7-(HIJPWX[[=%4;U\
MJ4^P>=O4V=]02P,$%     @ 8X)65LYU_1E$ P  G@D  !D   !X;"]W;W)K
M<VAE971S+W-H965T.34N>&ULI59-;^,V$/TK Z&'++"V9/E#R<(V$,=;M(=L
MC03MHBAZ8*2119@B59*VDW_?(25K;:_B&MV+1%+SWLR;H<B9[I7>F +1PFLI
MI)D%A;75IS T:8$E,WU5H:0ON=(ELS35Z]!4&EGF0:4(XRB:A"7C,IA/_=I*
MSZ=J:P67N-)@MF7)]-L"A=K/@D%P6'CBZ\*ZA7 ^K=@:G]'^7JTTS<*6)>,E
M2L.5!(WY++@??%HFSMX;_,%Q;X[&X)2\*+5QDU^S61"Y@%!@:AT#H]<.'U (
M1T1A_--P!JU+!SP>']A_]MI)RPLS^*#$5Y[98A;<!I!ASK;"/JG]+]CH&3N^
M5 GCG[!O;*, TJVQJFS %$')9?UFKTT>C@"#Y!U W #B:P'#!C"\%C!J ".?
MF5J*S\.263:?:K4'[:R)S0U\,CV:Y'/IROYL-7WEA+/S+\HB#!+HP7/!-,)*
M,&EH]M4G#+,>VZ&F^L.]H9U1N5H9V!K,@$NP!<)"L'33>TX+)=#T'E%;JN9O
MWA!6FJ=<KN%192C@9HF6<6$^')SU%LP1K=@;[2,+]UHSN48W_GA@^.L1RQ?4
M?Q/D)PC!.)B9AI:4N_C#M%&YJ%7&[Z@<Q!2#M(6!SS+#[)0@I)2U>8L/>5O$
M%QF7F/9A./@(<13''0$]7 \?=,"7U\.C"VJ&[2X8>K[1.WR':L.AVFLJA86,
MT>;(&=>P8V*+4*&N2P W5/U,"<&T^;;ZH:LPM>/$.W9GT(Z*<=<?WD[#W7&Z
MNLU&R:G9\GNSX;B?W+56)^I'K?K11?6?7RLZA4@]_6WI!BK:M0@[)9CE@MNW
M+E4UX>U1'-'WFCJ-SA5U&L7=@L:MH/%%04_<;"#7B/236J0_QH*F4G8)J8GN
M3MQ'@_'H3$JG630:GXEYAVW2+6?2RIE<5Q\FY98)R/B.9RBS_[4?:U?CXQ#/
MM/ZGQ?*2Q8G"I%687*=0\!Q!Y:":D_;F3V2Z4\=EP@F\H<O%$$I_[G6=4#_,
ML/P1ACI/X='-5:)>^P[ 0*JVTM:'<;O:-AGW_FX]6U]0\U'W"M]HZL[ED>DU
MIU0*S(DRZB=4-UUW _7$JLK?CR_*TFWKAP4U4*B= 7W/%=V1S<0Y:%NR^;]0
M2P,$%     @ 8X)65GY=0-4"!0  &!<  !D   !X;"]W;W)K<VAE971S+W-H
M965T.38N>&ULQ5C;;N,V$/T50ET462 KB=0]=0PDMGIYV&ZP:5KTD9%H6X@D
MNB1M)W]?ZA+9HFC5Z[JH'VQ1.G/(.3,>:CC94?;"5X0(\%KD);\U5D*L;RR+
M)RM28&[2-2GEDP5E!19RR)867S."T]JHR"UDV[Y5X*PTII/ZW@.;3NA&Y%E)
M'AC@FZ+ [.V>Y'1W:T#C_<;7;+D2U0UK.EGC)7DDXFG]P.3(ZEC2K" ESV@)
M&%G<&G?P)H9^95 C?L_(CA]<@\J59TI?JL$OZ:UA5RLB.4E$18'ESY;,2)Y7
M3'(=?[6D1C=G97AX_<[^8^V\=.89<S*C^1]9*E:W1FB E"SP)A=?Z>YGTCKD
M57P)S7G]#78MUC9 LN&"%JVQ7$&1E<TO?FV%.#! _A$#U!H@Q0 &1PR<UL!1
M9_".&+BM@7OJDKS6H';=:GROA9MC@:<31G> 56C)5EW4ZM?64J^LK!+E43#Y
M-)-V8OHK%03  'P"CRO,"'C(<<FK49,X@"[ HZ#)"_BRK@-[5P4V$V_@:DX$
MSG+^48*?'N?@ZL-'\ %8@%<T'&0E>"HSP:_E37G]VXIN."Y3/K&$7'4UMY6T
M*[QO5HB.K! B\)F68L5!7*8D[1-8TMW.9_3N\ST:99R3Q 0.O ;(1DBSH-GI
MYE!C/C_=W-:8QR>;PVA$#*=+ *?F<X_P?=D(+F1DLG)Y#<I-\4Q8%71:AYN#
M*QF\)J0?=:%KN/V:NZI)VRET7 0=J<OV4%$-SD.A']E]W%R'BY ?^GU</.I3
M55QO^!HGY-:0U9,3MB7&]/OOH&__,**8VRGFGJ[8KJY$) 5X2YBLK("\$I9D
MG( URQ)2ZY?2/,>,@[64MM92*V4S:7#@NN^:*++W'U74H84;F7:H2*I!(=-V
M%4%'73Y34*\3U/L7@C)2[7?R&4AD&6!R9]G@' C""G#U)\%,*^;XA"YX(U5
MH V*IK0@%Z3X35>=9N-47DOEMTRZ>C#.X+<,SOM:8'AL+?%I3/_@5B]&?A<C
M__08X>62D266.T<F(Y+)MX8$;'&^(;I0-+S>8?X%@:_DWVR(<D+?]B,EF8<P
M%"#/<Y1L'L(B![FH0_4D"#H)@E$)?F*XE(EY1I4,AE7-EE5-*6JS(2RPG0@I
M$FC( L?WE$H:C_IRYA\Z[)0*3U/J<M4Q'%0Q%")3T68V1#F.9P:*@D,4M)'I
M*&3QJ(]G*AAU"D:C"L:M3N=D6S1(D$_0"1S;4\32X!"*(J1L,W,=#OHP4O?D
M48_.U O:^_=8^U3%+I=U[9R]A/+-2-V(-3#7,R-%\+F.+3)#9<..QQT]5\B#
MA@"."BG[KP7)SBMT+74O5US/5UV<Z7!(%COU=5"+@^Z@V(V[=*YD:"\9.E6R
M"^8>&I:IR#4'?V,-SG=,I!8]#<RS3>2I2HYZ>JZ2^V8$_I?="-2T#[)Y<-6W
MW9D.J.M;YCJ@KG&)M<!^Y]*79-]MP/^EW8##OB"$IN-&!Q]5M6]N4>8:$TV/
M$NM@O2:EK]V^L8#C;\3MIH"?<W)..GF#F$8ABIQ!-HTNXO3_3"O9)=GB2['U
M [#O&N!XV] +P 63U]<5,_648#:^N&\.S"79XDNQ-8&Q#DX "\*6]=$KEQWS
MIA3-P5AWMSO>O:L/-97[]]6Q;WVRN*=ISHP_8[:4K1[(R4)2VF8@,XLUQ[#-
M0-!U?<[X3(6@17VY(C@EK +(YPM*Q?N@FJ [#)_^#5!+ P04    " !C@E96
MN#^W<F@#  #\"P  &0   'AL+W=O<FMS:&5E=',O<VAE970Y-RYX;6RMEF]O
MFSH4QK^*A>Z+3EH!&P-F2B*UR>Z?%[NJ6MW>UVYP$C3 F>TTZ[>?;2A+C!,Q
M:6\2;)[GX-\Y&)_9D8NO<L>8 M^;NI7S8*?4_E,4R?6.-52&?,]:?6?#14.5
M'HIM)/>"T=*:FCI"<9Q%#:W:8#&S<P]B,>,'55<M>Q! 'IJ&BK=[5O/C/(#!
M^\1CM=TI,Q$M9GNZ94],_;=_$'H4#5'*JF&MK'@+!-O,@SOX:06MP2J>*W:4
M)]? H+QP_M4,_BGG06Q6Q&JV5B8$U7^O;,GJVD32Z_C6!PV&9QKCZ?5[]#\M
MO(9YH9(M>?U_5:K=/" !*-F&'FKUR(]_LQXH-?'6O);V%QQ[;1R ]4$JWO1F
MO8*F:KM_^KU/Q(D!9A<,J#<@UX O&)+>D$PUX-Z ;68Z%)N'%55T,1/\"(11
MZVCFPB;3NC5^U9JZ/RFA[U;:IQ;_<L4 S,$M>-I1P<!#35MI1MU[ /@&/#*I
M1+56K.PU=T<J2@GN3,DJ]09N5DS1JI8?M.\/$ %I5'(6*;T^\Y1HW:_EOEL+
MNK 6B, 7WJJ=!)_;DI7G 2(--M"A=[I[=#7BBJU#D,"/ ,4(>1:TG&Z''OMJ
MNCV^0I,,M4IL/'RQ5NWMJRZ&+L1-U?9I_N#+<Q<GLW',SG]=)%E:9.DL>CVE
M'\MPFL$"G\M6'ED!LR0?9&<T>*#!OT)3\KJF0H(]$QV9%ZP+F9\L!2(<(A=L
M+,M(B)'#-5:E*"38CY4.6.E5K+\$;2=4*!WE%)&<F+?L#&0L@RA+DL(A\<A(
M0C+B1\D&E&PRRK3R9*.,(HC#E#A4'AE*PMBE&LN*-(07ZI,/4/E5J.=)&R@?
M)?06)1@19VLL?;H8)2AW4+RZ."EB/PP98,A4F&D%(J.4DB1,G8VQ'*M2$A9N
M><8JK,OC!RH&H.(JD#[+-ZR:4*!BG% ,4>S6QR.#&&%GFZU\,E*@"S P_GFX
MQK^ ,ZU$?<BSW9$E(79>J:5'!Q,29N[7VZ-+L],]><YVTCC WW0:]8'.CB/]
MK2O<SX)/YSFV5AZ=<VYU2-%)6]0PL;7MI01K?FA5UT,,LT,+>V<;-V?^WK2V
MMMWZ&:;KB[]0L:UTPU2SC0X9A[G^$HNNU>P&BN]M\_7"E6[E[.5.M^=,&(&^
MO^&Z >L'Y@%#P[_X 5!+ P04    " !C@E96DY&XCEP#  "P#0  &0   'AL
M+W=O<FMS:&5E=',O<VAE970Y."YX;6R]5UV/&C<4_2M7TZA*)+KS ;.D6T#:
M,*2)M-NNEB1]J/I@A@M8\0>U/;!(_?&]'B8CR,)HJ49] 7O&YUS['/O.]6"K
MS5>[0G3P)(6RPV#EW/HF#&V^0LGLE5ZCHC<+;21SU#7+T*X-LGD)DB),HN@Z
ME(RK8#0HGSV8T4 73G"%#P9L(24SNW<H]'88Q,&W!X]\N7+^03@:K-D2I^@^
MKQ\,]<*:9<XE*LNU H.+87 ;WTSZ?GPYX O'K3UH@U_)3.NOOO-Q/@PB/R$4
MF#O/P.AO@V,4PA/1-/ZN.(,ZI <>MK^QOR_73FN9,8MC+?[@<[<:!F\#F.."
M%<(]ZNT'K-:3>KY<"UO^PK8:&P60%]9I68%I!I*K_3][JG0X ,2],X"D B0O
M!70K0/>E@%X%Z+T4D%: <NGA?NVE<!ES;#0P>@O&CR8VWRC5+]&D%U=^GTR=
MH;><<&[TFW8(\5OX"<9:2NYH"S@+3,VIKQQ72U0Y1PNO,W2,"PN?\,D53+PA
MQ.=I!J]?O8%7P!5\6NG"$LX.0D?S\NQA7LWAW7X.R9DYW!;+*XCB#B11DIR
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
MPS ,0'_%T)XP!] AB#-E\18$^0%6H@_8$@6*19V_K]JE<9 +&7D]/!+<'FE
M[3BDMHNI&/T04FE:U;@!2+8ECVG.D4*NU"P>-8?20$3;8T.P6BP^0"X99K>]
M9!:G<Z17B%S7G:4]VR]/06^ KSI,<4)I2$LS#O#-TG\R]_,,-47E2B.56QIX
MT^7^=N!)T:$B6!::1<G3HAVE?QW']I#3Z:]C(K1Z6^CY<6A4"H[<8R6,<6*T
M_C6"R0_L?@!02P,$%     @ 8X)65E: 2;7P!@  <D(   \   !X;"]W;W)K
M8F]O:RYX;6S%G$MOVS@0@/\*X5/WD+7UEHJF0!YM-\ V]=9I>RP8F;:)RI)+
M24G37[]#>=,.$W.P%X].B21&^DQ9\W'(45[=-^;;;=-\$S^V5=V>3C9=MWLY
MG;;E1FUE^V>S4S4<635F*SO8-.MINS-*+MN-4MVVFH:S63K=2EU/7K]Z/-?<
M3/%&TZFRTTT-.^V.SUK=M[^/VTUQIUM]JRO=/9Q.AM\K-1%;7>NM_JF6IY/9
M1+2;YOZOQNB?3=W):E&:IJI.)\'^P&=E.ET^V[VPD#?RMAWV=/+VHP20TTDZ
M@Q.NM&F[H<5P?@F,=PH:[[?ZKGFKJTZ92]FI=Z;I=[I>V]/ IYBBCS'TP^//
M?2>^-/^G&YO52I?JLBG[K:J[?3\:55G NMWH73L1M=RJT\EC$W%6+\6;NH-.
M$E?U_E30UGY2N/35<O^I.\!%?6A>:CA@KI8#^/$@+V"[J?02KKX4Y[*2=:G$
MT+DM @P)P' T0/%B+A%D1$!&C) +"V'_H!7-2EPTVQV"C G(>#3(1=>4"#(A
M(),1(;^&"#(E(-/Q;K=L-P@R(R"SXT)>0_@6@3@1EZHMC=[9!I;PO&]UK?#3
MG1.0.0-D")"+?KN5YL$"GI5ETT.XK-<"018$9,$ &0'D6?F]AXL/#7#XGE'Q
M>\8 %P/<1[54<#:XNKANZA)L:Y6*,4G-'-DS V8R?!N-OI-6V2##MC/#'SJ]
M2<DF.+)M!LQTN-70MJ^&)_Q#MU'F:2 /*-T$1_;-@)G9QT:MAR'&1[5KC'UD
M,"'EFN#(LAD(<R!TE UWOY.Z<FXW)9O@R+89* N@?-<TRWM=54+"6.T*!JKU
M&E P)J6;X,B^V8?R&7#^K63KQ.Z ,DS HACK&$@6EGW9B2_2&%G#0/?#;:4Q
M)N68@$,R@;7,A5%+#0/RM5'J6=RA#!-P*":PCK%#L6_V>>Y-N8&;;;L6/]4A
M)9N00S:!M<T;:6H(-ZV80VA<;*11F)$R3<AAFL"JY@HLN%7B1OYP'IF0S&8X
M!!-8PYRK6JW@RSB'^.C@46().<02#&:Q]_0Y'.64D,,I@94*N'BKN_V@VT9L
M&)!W.-R$E%1"#JD$UBK_]-)TRE0/XJVNP8):5N(*8U)2"3FD$EJI?)95/QP?
M^A*@*[UZP)B48T(.QX3!D"+<MNI[;X<[;^Z>!.^0\DMX9+\L]+K6T%;:N9[?
MR<L<4L12NZ&'<DS(X1A?KN6DUA'EF(C#,4^S+?'BQF8V[1^8DK),Q&$97]KE
M=B:EFXA#-[ZTR\4DI\\XM.-+NUQ,2D 1AX .IEW#]Q-C4@**. 3DS;WPI$I$
M"2CB$) O^7)O.B6@B"7)^9U\'0Q%E'XBEO3&DX6Y_4CI)V))<0YF8;9+\1PY
MI9]XQ!0'.#$FY9]XE"SGT'<SIOP3LZ0[3_*)@Y24?F*6K,<S8G>>H)A<O^'0
MCV_$[F)2^HDY].,=9T88D])/S)+_^#!CC$GI)V;)?WR8"<:D)!2/N9#S-<68
ME(3B,99RQ(L#0Z.$DE R2@YT(FXVRLY]8$Q*0@F'A Y@SJ&UWN()F8224,(A
MH0.8GVK9PT $8U(62C@LY$TI<=Q,* LE'!;R8N*XF9!U!!P6\F:^3F]2%DHX
M+.3%='J3LE#"82%O@N[T)F6AA,-"7DRG-RD+)1P6\LPC@(IPD0MEH93#0H<Q
M3\0U7O!)*0NE'!;R8=XT&).R4,IA(1_FPNE-RD(IAX5\DT=N 19EH73,^@(G
M(*64A=(QI^*<@)22]6RC3L4YO4E9*.6PD!?3Z4W*0BF'A;R8.&5+*0NE+!-R
M>&+S,0VZ43^Z'E<Q4A;*6";D$.:O7RZ:ML,I6T99*&.9D',P%_UN5PTSG.(<
M8U(6RE@FY'R8%QB3LE#&,B/G8'Y1>KVQX[FS.RS+C+)0QE*1X&"^EUUO(,6$
M#3STR"@+92P5";X5 AS>,\I"&4N9FP\3A_>,K*L>L^K-">\99:%LU&4A/".7
M41;*6"SDP\P09DY9*&>QD \SQYB4A7(6"WD6V2YQW,PI"^4L%CJ,";$48U(6
MREDLY,-\CS$I"^4L%O(4CSHI6TY9*&>QD&]E]1)C4A;*62SDP3S!X\V<LE#.
M8J'G"\#/*^QS\OT>%@L]PQS"*-!@3,I".8N%#F#:MSZ<=S4+RD(%BX4.8'ZJ
MC2KQ>+.@+%2,4YQ@EPS*IL9O&A:4A8IQ:K$?GR&,25FH&*,F^^":94%9J&"Q
MT%/,7WD;QJ0L5+!8Z#GF?^O6&).R4,%B(0^FX_2"LE#!8B%/2;Z+25FH8+&0
MK\ ')\ %^9XI2X6VK\ '8P8S^IW3P4/3H7G[^M42@ENMEM=PD1;VE[(JYT;8
M'\.YPCBQ+S^M^JJZ@'T?ZK\;N7S\EPF/_^[A];]02P,$%     @ 8X)65L,K
M'SW6 @  QSH  !H   !X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<\W;O6[B
M0!A&X5M!OH#8\S^S"JFV2;O*#5C$0!3 R/9JD[M?1 IXK2VVB7PJ-$;^.-4C
M9,\\_NH.[?36G\;]VWE<?1P/IW%=[:?I_*.NQ\V^.[;C0W_N3I=OMOUP;*?+
M<MC5YW;SWNZZVC9-K(?[&=73X_W,U<OGN?N?B?UV^[;I?O:;W\?N-/UC</VG
M']['?==-U>JE'7;=M*[JC\/M\EA?/\S#97*U>GY=5\/SJZGJI8.L!-GE@YP$
MN>6#O 3YY8."!(7E@Z($Q>6#D@2EY8.R!.7E@XH$E>6#3*,R-H"D&=8 K8UR
M;0!>&P7; ,0V2K8!F&T4;0-0VRC;!N"V4;@-0&ZC=!N W4;Q-@"]K>IM 7I;
MU=L"]+:S/]L O:WJ;0%Z6]7; O2VJK<%Z&U5;PO0VZK>%J"W5;TM0&^K>EN
MWD[U=@"]G>KM 'H[U=L!]':SAR4 O9WJ[0!Z.]7; ?1VJK<#Z.U4;P?0VZG>
M#J"W4[T=0&^O>GN WE[U]@"]O>KM 7I[U=L#]/:SA]T O;WJ[0%Z>]7; _3V
MJK<'Z.U5;P_0VZO>'J!W4+T#0.^@>@> WD'U#@"]@^H= 'H'U3L ] ZSEY4
MO8/J'0!Z!]4[ /0.JG< Z!U4[P#0.ZK>$:!W5+TC0.^H>D> WE'UC@"]H^H=
M 7I'U3L"](ZSS28 O:/J'0%Z1]4[ O2.JG<$Z)U4[P30.ZG>":!W4KT30.^D
M>B> WDGU3@"]D^J= 'HGU3L!]$ZSS8( O9/JG0!Z)]4[ ?3.JG<&Z)U5[PS0
M.ZO>&:!W5KTS0.^L>F> WEGUS@"]L^J= 7IGU3L#],ZSS=X O;/JG0%Z%]6[
M /0NJG<!Z%U4[P+0NZC>!:!W4;T+0.^B>A> WD7U+@"]B^I= 'H7U;L ]"ZS
MPSH O4TS/Z[SG7Z/T^>A&V]%7^M9P'=J/5WN[6Z_?UU^79P=$6JN0-?W&>/3
M7U!+ P04    " !C@E96A9\G2E@"  ##.   $P   %M#;VYT96YT7U1Y<&5S
M72YX;6S-V\MNVS 0A>%7,;0-+%DD15)%G$W;;9M%7T"5Z%BP;A"9U'G[TLH%
M:)$:#5R@_\:"37+.B -\.U]_>YR<7QW[;O#;9!_"]"'+?+UW?>73<7)#7-F-
M<U^%^'6^RZ:J/E1W+A.;C<[J<0AN".MPJI'<7']RN^J^"ZO/Q_BS;\=AF\RN
M\\GJX]/&4]8VJ::I:^LJQ/7L86A^2UD_)Z3QY++'[]O)7\4-2?9FPFGESP'/
MY[X^N'EN&[>ZK>;PI>KCKNS893X\=LZGYTN\T>.XV[6U:\;ZOH]'4C_-KFK\
MWKG0=^E3T:OSR2'>L'OZS"_.7\J<"XP[;^=Q\G%BLWM_W,M(3J?74RSDYM">
M?\77Q%CZXO=SIVDWKOG+['B]/\;YL,S#9\OC\CO^=<:O]=_9AX#T(2%]*$@?
M!:0/#>G#0/JPD#Y*2!_YAM((1=2<0FI.,36GH)I35,TIK.845W,*K#E%5D&1
M55!D%119!45609%54&05%%D%159!D5509)44625%5DF155)DE119)45629%5
M4F25%%DE159%D5519%44615%5D6155%D5119%45619%5460M*+(6%%D+BJP%
M1=:"(FM!D;6@R%I09"THLA84635%5DV155-DU119-45639%54V35%%DU159-
MD=509#4460U%5D.1U5!D-119#4560Y'54&0U%%DM159+D=529+4462U%5DN1
MU5)DM119+4562Y&UI,A:4F0M*;*6%%E+BJPE1=:2(FM)D;6DR%I29,TW_Y/6
M[^-X^,?QRS/MJW9XR<^6_R[>_ 102P$"% ,4    " !C@E96!T%-8H$   "Q
M    $               @ $     9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0
M   ( &."5E;+XU=#[0   "L"   1              "  :\   !D;V-0<F]P
M<R]C;W)E+GAM;%!+ 0(4 Q0    ( &."5E:97)PC$ 8  )PG   3
M      "  <L!  !X;"]T:&5M92]T:&5M93$N>&UL4$L! A0#%     @ 8X)6
M5EV\,[=[!P  PC   !@              ("!# @  'AL+W=O<FMS:&5E=',O
M<VAE970Q+GAM;%!+ 0(4 Q0    ( &."5E;1:,6![0<  #P@   8
M      " @;T/  !X;"]W;W)K<VAE971S+W-H965T,BYX;6Q02P$"% ,4
M" !C@E96?P;KO*H"   D!P  &               @('@%P  >&PO=V]R:W-H
M965T<R]S:&5E=#,N>&UL4$L! A0#%     @ 8X)65M#Z8F)5"   ^R,  !@
M             ("!P!H  'AL+W=O<FMS:&5E=',O<VAE970T+GAM;%!+ 0(4
M Q0    ( &."5E:8->^TS1,  /@2 0 8              " @4LC  !X;"]W
M;W)K<VAE971S+W-H965T-2YX;6Q02P$"% ,4    " !C@E96T%W<VZH"  #/
M!@  &               @(%.-P  >&PO=V]R:W-H965T<R]S:&5E=#8N>&UL
M4$L! A0#%     @ 8X)65I0GX'%&#   ,T,  !@              ("!+CH
M 'AL+W=O<FMS:&5E=',O<VAE970W+GAM;%!+ 0(4 Q0    ( &."5E9\,BW*
MTP(  *D&   8              " @:I&  !X;"]W;W)K<VAE971S+W-H965T
M."YX;6Q02P$"% ,4    " !C@E961=$*_QD3  !N-   &
M@(&S20  >&PO=V]R:W-H965T<R]S:&5E=#DN>&UL4$L! A0#%     @ 8X)6
M5FW!+[6G"   /Q8  !D              ("! ET  'AL+W=O<FMS:&5E=',O
M<VAE970Q,"YX;6Q02P$"% ,4    " !C@E96$2AYV=,#  !/"   &0
M        @('@90  >&PO=V]R:W-H965T<R]S:&5E=#$Q+GAM;%!+ 0(4 Q0
M   ( &."5E9IAJ@FQ 0  (0+   9              " @>II  !X;"]W;W)K
M<VAE971S+W-H965T,3(N>&UL4$L! A0#%     @ 8X)65GOTZY0K!   ,@L
M !D              ("!Y6X  'AL+W=O<FMS:&5E=',O<VAE970Q,RYX;6Q0
M2P$"% ,4    " !C@E962CWG8M *   7&P  &0              @(%'<P
M>&PO=V]R:W-H965T<R]S:&5E=#$T+GAM;%!+ 0(4 Q0    ( &."5E;'0HON
MR ,   8(   9              " @4Y^  !X;"]W;W)K<VAE971S+W-H965T
M,34N>&UL4$L! A0#%     @ 8X)65FE>0N6?!0  ^ P  !D
M ("!38(  'AL+W=O<FMS:&5E=',O<VAE970Q-BYX;6Q02P$"% ,4    " !C
M@E96%R'5*C4(  "P%@  &0              @($CB   >&PO=V]R:W-H965T
M<R]S:&5E=#$W+GAM;%!+ 0(4 Q0    ( &."5E;AT<9HH 4  /X-   9
M          " @8^0  !X;"]W;W)K<VAE971S+W-H965T,3@N>&UL4$L! A0#
M%     @ 8X)65AW<1^@^!@  <P\  !D              ("!9I8  'AL+W=O
M<FMS:&5E=',O<VAE970Q.2YX;6Q02P$"% ,4    " !C@E96&%;0!VL"  "$
M!0  &0              @(';G   >&PO=V]R:W-H965T<R]S:&5E=#(P+GAM
M;%!+ 0(4 Q0    ( &."5E8W'/:-FP0  #8*   9              " @7V?
M  !X;"]W;W)K<VAE971S+W-H965T,C$N>&UL4$L! A0#%     @ 8X)65K9-
M&K^\!P  X!$  !D              ("!3Z0  'AL+W=O<FMS:&5E=',O<VAE
M970R,BYX;6Q02P$"% ,4    " !C@E96&M4UT[@#  !O"   &0
M    @(%"K   >&PO=V]R:W-H965T<R]S:&5E=#(S+GAM;%!+ 0(4 Q0    (
M &."5E;\94B+L0@  %46   9              " @3&P  !X;"]W;W)K<VAE
M971S+W-H965T,C0N>&UL4$L! A0#%     @ 8X)65JE*D>E)!0  S@L  !D
M             ("!&;D  'AL+W=O<FMS:&5E=',O<VAE970R-2YX;6Q02P$"
M% ,4    " !C@E96L?J_?8@#  "S"   &0              @(&9O@  >&PO
M=V]R:W-H965T<R]S:&5E=#(V+GAM;%!+ 0(4 Q0    ( &."5E:LE930B00
M -T*   9              " @5C"  !X;"]W;W)K<VAE971S+W-H965T,C<N
M>&UL4$L! A0#%     @ 8X)65O@Y,D,D @  Y@0  !D              ("!
M&,<  'AL+W=O<FMS:&5E=',O<VAE970R."YX;6Q02P$"% ,4    " !C@E96
M_)3+6+\4  "100  &0              @(%SR0  >&PO=V]R:W-H965T<R]S
M:&5E=#(Y+GAM;%!+ 0(4 Q0    ( &."5E;]7$+<Y@,  %$)   9
M      " @6G>  !X;"]W;W)K<VAE971S+W-H965T,S N>&UL4$L! A0#%
M  @ 8X)65BW!UHLT!@  _0T  !D              ("!AN(  'AL+W=O<FMS
M:&5E=',O<VAE970S,2YX;6Q02P$"% ,4    " !C@E96L8.L:/("  !!!@
M&0              @('QZ   >&PO=V]R:W-H965T<R]S:&5E=#,R+GAM;%!+
M 0(4 Q0    ( &."5E:4?P[G?@(  $H%   9              " @1KL  !X
M;"]W;W)K<VAE971S+W-H965T,S,N>&UL4$L! A0#%     @ 8X)65M;W.]Y<
M P  : @  !D              ("!S^X  'AL+W=O<FMS:&5E=',O<VAE970S
M-"YX;6Q02P$"% ,4    " !C@E96O_E# :0&  !N$0  &0
M@(%B\@  >&PO=V]R:W-H965T<R]S:&5E=#,U+GAM;%!+ 0(4 Q0    ( &."
M5E:L!U,@DP,  ,8'   9              " @3WY  !X;"]W;W)K<VAE971S
M+W-H965T,S8N>&UL4$L! A0#%     @ 8X)65HR5'B#3!   E0L  !D
M         ("!!_T  'AL+W=O<FMS:&5E=',O<VAE970S-RYX;6Q02P$"% ,4
M    " !C@E96I,U@^6,%   I#P  &0              @($1 @$ >&PO=V]R
M:W-H965T<R]S:&5E=#,X+GAM;%!+ 0(4 Q0    ( &."5E:2JSH47P0  !$+
M   9              " @:L' 0!X;"]W;W)K<VAE971S+W-H965T,SDN>&UL
M4$L! A0#%     @ 8X)65D]Y[JZ8 P  1P@  !D              ("!00P!
M 'AL+W=O<FMS:&5E=',O<VAE970T,"YX;6Q02P$"% ,4    " !C@E96T$]W
MKX@#  !]!P  &0              @($0$ $ >&PO=V]R:W-H965T<R]S:&5E
M=#0Q+GAM;%!+ 0(4 Q0    ( &."5E:B :-Q&@8  )\.   9
M  " @<\3 0!X;"]W;W)K<VAE971S+W-H965T-#(N>&UL4$L! A0#%     @
M8X)65B-Z'\(8!0  8@P  !D              ("!(!H! 'AL+W=O<FMS:&5E
M=',O<VAE970T,RYX;6Q02P$"% ,4    " !C@E96Q$;7[X,#  "!"   &0
M            @(%O'P$ >&PO=V]R:W-H965T<R]S:&5E=#0T+GAM;%!+ 0(4
M Q0    ( &."5E92-00$B ,  $8(   9              " @2DC 0!X;"]W
M;W)K<VAE971S+W-H965T-#4N>&UL4$L! A0#%     @ 8X)65@7H$H:X"@
M#E@  !D              ("!Z"8! 'AL+W=O<FMS:&5E=',O<VAE970T-BYX
M;6Q02P$"% ,4    " !C@E96MHLZM#@#  !9"   &0              @('7
M,0$ >&PO=V]R:W-H965T<R]S:&5E=#0W+GAM;%!+ 0(4 Q0    ( &."5E8:
MEOA)V ,  !08   9              " @48U 0!X;"]W;W)K<VAE971S+W-H
M965T-#@N>&UL4$L! A0#%     @ 8X)65@Q1:6QR!   N1$  !D
M     ("!53D! 'AL+W=O<FMS:&5E=',O<VAE970T.2YX;6Q02P$"% ,4
M" !C@E96H.)\R<D,  #AM@  &0              @('^/0$ >&PO=V]R:W-H
M965T<R]S:&5E=#4P+GAM;%!+ 0(4 Q0    ( &."5E:W5!V_9 0  $,0   9
M              " @?Y* 0!X;"]W;W)K<VAE971S+W-H965T-3$N>&UL4$L!
M A0#%     @ 8X)65O,UL!-;$   =,P  !D              ("!F4\! 'AL
M+W=O<FMS:&5E=',O<VAE970U,BYX;6Q02P$"% ,4    " !C@E96YFO_T:8%
M  "W'0  &0              @($K8 $ >&PO=V]R:W-H965T<R]S:&5E=#4S
M+GAM;%!+ 0(4 Q0    ( &."5E8<4+;+E 8  (\^   9              "
M@0AF 0!X;"]W;W)K<VAE971S+W-H965T-30N>&UL4$L! A0#%     @ 8X)6
M5D/7I81_ P  H0L  !D              ("!TVP! 'AL+W=O<FMS:&5E=',O
M<VAE970U-2YX;6Q02P$"% ,4    " !C@E967/2<-_ $  ";&@  &0
M        @(&)< $ >&PO=V]R:W-H965T<R]S:&5E=#4V+GAM;%!+ 0(4 Q0
M   ( &."5E8I,YV5C0(   L'   9              " @;!U 0!X;"]W;W)K
M<VAE971S+W-H965T-3<N>&UL4$L! A0#%     @ 8X)65D1 U[Z4 @  %P8
M !D              ("!='@! 'AL+W=O<FMS:&5E=',O<VAE970U."YX;6Q0
M2P$"% ,4    " !C@E96RB<7&/P%  !T'   &0              @($_>P$
M>&PO=V]R:W-H965T<R]S:&5E=#4Y+GAM;%!+ 0(4 Q0    ( &."5E:S49Q#
MKP0  (05   9              " @7*! 0!X;"]W;W)K<VAE971S+W-H965T
M-C N>&UL4$L! A0#%     @ 8X)65L'U]Y/>!P  >%<  !D
M ("!6(8! 'AL+W=O<FMS:&5E=',O<VAE970V,2YX;6Q02P$"% ,4    " !C
M@E96\J."T#T(  "K90  &0              @(%MC@$ >&PO=V]R:W-H965T
M<R]S:&5E=#8R+GAM;%!+ 0(4 Q0    ( &."5E;Z,[KR,0D  *HA   9
M          " @>&6 0!X;"]W;W)K<VAE971S+W-H965T-C,N>&UL4$L! A0#
M%     @ 8X)65DS._%5C @  *04  !D              ("!2: ! 'AL+W=O
M<FMS:&5E=',O<VAE970V-"YX;6Q02P$"% ,4    " !C@E96-"ZB<%D"  #N
M!0  &0              @('CH@$ >&PO=V]R:W-H965T<R]S:&5E=#8U+GAM
M;%!+ 0(4 Q0    ( &."5E:)\*R5 P0  -P2   9              " @7.E
M 0!X;"]W;W)K<VAE971S+W-H965T-C8N>&UL4$L! A0#%     @ 8X)65KE^
MHM\4 P  M L  !D              ("!K:D! 'AL+W=O<FMS:&5E=',O<VAE
M970V-RYX;6Q02P$"% ,4    " !C@E96K+=I?*8$  "G$P  &0
M    @('XK $ >&PO=V]R:W-H965T<R]S:&5E=#8X+GAM;%!+ 0(4 Q0    (
M &."5E9]7IG3=P4  (L<   9              " @=6Q 0!X;"]W;W)K<VAE
M971S+W-H965T-CDN>&UL4$L! A0#%     @ 8X)65F;Z, $< @  W@0  !D
M             ("!@[<! 'AL+W=O<FMS:&5E=',O<VAE970W,"YX;6Q02P$"
M% ,4    " !C@E96W7@Z%;H"  "L!P  &0              @('6N0$ >&PO
M=V]R:W-H965T<R]S:&5E=#<Q+GAM;%!+ 0(4 Q0    ( &."5E8\ME];2@4
M #\:   9              " @<>\ 0!X;"]W;W)K<VAE971S+W-H965T-S(N
M>&UL4$L! A0#%     @ 8X)65F- 4%O> @  P@@  !D              ("!
M2,(! 'AL+W=O<FMS:&5E=',O<VAE970W,RYX;6Q02P$"% ,4    " !C@E96
MM:LALV4"  "U!@  &0              @(%=Q0$ >&PO=V]R:W-H965T<R]S
M:&5E=#<T+GAM;%!+ 0(4 Q0    ( &."5E:IIF<'" 0  $\3   9
M      " @?G' 0!X;"]W;W)K<VAE971S+W-H965T-S4N>&UL4$L! A0#%
M  @ 8X)65CY@4]EZ P  (@\  !D              ("!.,P! 'AL+W=O<FMS
M:&5E=',O<VAE970W-BYX;6Q02P$"% ,4    " !C@E96%5IL(78$  "R#@
M&0              @('ISP$ >&PO=V]R:W-H965T<R]S:&5E=#<W+GAM;%!+
M 0(4 Q0    ( &."5E;?06:S_P$  ,T#   9              " @9;4 0!X
M;"]W;W)K<VAE971S+W-H965T-S@N>&UL4$L! A0#%     @ 8X)65FI_0#7Y
M @  60L  !D              ("!S-8! 'AL+W=O<FMS:&5E=',O<VAE970W
M.2YX;6Q02P$"% ,4    " !C@E96'[C.OL("   O"P  &0
M@('\V0$ >&PO=V]R:W-H965T<R]S:&5E=#@P+GAM;%!+ 0(4 Q0    ( &."
M5E;P>$9?)P,  ) +   9              " @?7< 0!X;"]W;W)K<VAE971S
M+W-H965T.#$N>&UL4$L! A0#%     @ 8X)65A/F=G G$   Q^L  !D
M         ("!4^ ! 'AL+W=O<FMS:&5E=',O<VAE970X,BYX;6Q02P$"% ,4
M    " !C@E96E9AG&\H#  "4#@  &0              @(&Q\ $ >&PO=V]R
M:W-H965T<R]S:&5E=#@S+GAM;%!+ 0(4 Q0    ( &."5E8F,V4N_@,  '81
M   9              " @;+T 0!X;"]W;W)K<VAE971S+W-H965T.#0N>&UL
M4$L! A0#%     @ 8X)65ED%SJBC!   61H  !D              ("!Y_@!
M 'AL+W=O<FMS:&5E=',O<VAE970X-2YX;6Q02P$"% ,4    " !C@E96,T3_
MZ9H"  #;!@  &0              @('!_0$ >&PO=V]R:W-H965T<R]S:&5E
M=#@V+GAM;%!+ 0(4 Q0    ( &."5E9QPO1\=@8  +$D   9
M  " @9(  @!X;"]W;W)K<VAE971S+W-H965T.#<N>&UL4$L! A0#%     @
M8X)65F-N9_D[ P  E@D  !D              ("!/P<" 'AL+W=O<FMS:&5E
M=',O<VAE970X."YX;6Q02P$"% ,4    " !C@E96S7=_1?P#   ##P  &0
M            @(&Q"@( >&PO=V]R:W-H965T<R]S:&5E=#@Y+GAM;%!+ 0(4
M Q0    ( &."5E9KAPBA,@0  *D.   9              " @>0. @!X;"]W
M;W)K<VAE971S+W-H965T.3 N>&UL4$L! A0#%     @ 8X)65B^$'2KH @
M? @  !D              ("!31," 'AL+W=O<FMS:&5E=',O<VAE970Y,2YX
M;6Q02P$"% ,4    " !C@E96T$7CQT,$  #V#P  &0              @(%L
M%@( >&PO=V]R:W-H965T<R]S:&5E=#DR+GAM;%!+ 0(4 Q0    ( &."5E;X
M&7&()0,   X*   9              " @>8: @!X;"]W;W)K<VAE971S+W-H
M965T.3,N>&UL4$L! A0#%     @ 8X)65BLW3C-6"0  >4H  !D
M     ("!0AX" 'AL+W=O<FMS:&5E=',O<VAE970Y-"YX;6Q02P$"% ,4
M" !C@E96SG7]&40#  ">"0  &0              @('/)P( >&PO=V]R:W-H
M965T<R]S:&5E=#DU+GAM;%!+ 0(4 Q0    ( &."5E9^74#5 @4  !@7   9
M              " @4HK @!X;"]W;W)K<VAE971S+W-H965T.38N>&UL4$L!
M A0#%     @ 8X)65K@_MW)H P  _ L  !D              ("!@S " 'AL
M+W=O<FMS:&5E=',O<VAE970Y-RYX;6Q02P$"% ,4    " !C@E96DY&XCEP#
M  "P#0  &0              @($B- ( >&PO=V]R:W-H965T<R]S:&5E=#DX
M+GAM;%!+ 0(4 Q0    ( &."5E;Z%*+7*P4  %85   9              "
M@;4W @!X;"]W;W)K<VAE971S+W-H965T.3DN>&UL4$L! A0#%     @ 8X)6
M5OS<[VA'!@  6AL  !H              ("!%ST" 'AL+W=O<FMS:&5E=',O
M<VAE970Q,# N>&UL4$L! A0#%     @ 8X)65DV=!BDC P  [!$   T
M         ( !ED," 'AL+W-T>6QE<RYX;6Q02P$"% ,4    " !C@E96EXJ[
M',     3 @  "P              @ 'D1@( 7W)E;',O+G)E;'-02P$"% ,4
M    " !C@E965H!)M? &  !R0@  #P              @ '-1P( >&PO=V]R
M:V)O;VLN>&UL4$L! A0#%     @ 8X)65L,K'SW6 @  QSH  !H
M     ( !ZDX" 'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%
M  @ 8X)65H6?)TI8 @  PS@  !,              ( !^%$" %M#;VYT96YT
A7U1Y<&5S72YX;6Q02P4&     &P ; "L'0  @50"

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>119
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// 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)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>120
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* 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;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>121
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.22.4</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>426</ContextCount>
  <ElementCount>542</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>111</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>7</UnitCount>
  <MyReports>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000 - Document - Document And Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-document-and-entity-information</Role>
      <ShortName>Document And Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>001 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-consolidated-balance-sheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>002 - Statement - Consolidated Balance Sheets (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-consolidated-balance-sheets-parentheticals</Role>
      <ShortName>Consolidated Balance Sheets (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>003 - Statement - Consolidated Statements of Comprehensive Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-</Role>
      <ShortName>Consolidated Statements of Comprehensive Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>004 - Statement - Consolidated Statements of Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity</Role>
      <ShortName>Consolidated Statements of Stockholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>005 - Statement - Consolidated Statements of Stockholders' Equity (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity-parentheticals</Role>
      <ShortName>Consolidated Statements of Stockholders' Equity (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>006 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>007 - Disclosure - Note 1 - Description of Business</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-1-description-of-business</Role>
      <ShortName>Note 1 - Description of Business</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>008 - Disclosure - Note 2 - Summary of Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies</Role>
      <ShortName>Note 2 - Summary of Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>009 - Disclosure - Note 3 - Acquisitions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-3-acquisitions</Role>
      <ShortName>Note 3 - Acquisitions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>010 - Disclosure - Note 4 - Redeemable Noncontrolling Interest</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest</Role>
      <ShortName>Note 4 - Redeemable Noncontrolling Interest</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>011 - Disclosure - Note 5 - Derivative Instruments and Hedging Activities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities</Role>
      <ShortName>Note 5 - Derivative Instruments and Hedging Activities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>012 - Disclosure - Note 6 - Accumulated Other Comprehensive Loss</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss</Role>
      <ShortName>Note 6 - Accumulated Other Comprehensive Loss</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>013 - Disclosure - Note 7 - Segment Reporting</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-7-segment-reporting</Role>
      <ShortName>Note 7 - Segment Reporting</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>014 - Disclosure - Note 8 - Balance Sheet Details</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details</Role>
      <ShortName>Note 8 - Balance Sheet Details</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>015 - Disclosure - Note 9 - Goodwill and Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets</Role>
      <ShortName>Note 9 - Goodwill and Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>016 - Disclosure - Note 10 - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-10-leases-</Role>
      <ShortName>Note 10 - Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>017 - Disclosure - Note 11 - Product Warranty Obligations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations</Role>
      <ShortName>Note 11 - Product Warranty Obligations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>018 - Disclosure - Note 12 - Credit Agreements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-12-credit-agreements</Role>
      <ShortName>Note 12 - Credit Agreements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>019 - Disclosure - Note 13 - Stock Repurchase Programs</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs</Role>
      <ShortName>Note 13 - Stock Repurchase Programs</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>020 - Disclosure - Note 14 - Earnings Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-14-earnings-per-share</Role>
      <ShortName>Note 14 - Earnings Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>021 - Disclosure - Note 15 - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-15-income-taxes</Role>
      <ShortName>Note 15 - Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>022 - Disclosure - Note 16 - Benefit Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-16-benefit-plans</Role>
      <ShortName>Note 16 - Benefit Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>023 - Disclosure - Note 17 - Share Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-17-share-plans</Role>
      <ShortName>Note 17 - Share Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>024 - Disclosure - Note 18 - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies</Role>
      <ShortName>Note 18 - Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>025 - Disclosure - Note 19 - Quarterly Financial Information (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited</Role>
      <ShortName>Note 19 - Quarterly Financial Information (Unaudited)</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>026 - Disclosure - Note 20 - Valuation and Qualifying Accounts</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts</Role>
      <ShortName>Note 20 - Valuation and Qualifying Accounts</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>027 - Disclosure - Note 21 - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-21-subsequent-events</Role>
      <ShortName>Note 21 - Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>028 - Disclosure - Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies</Role>
      <ShortName>Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>029 - Disclosure - Note 2 - Summary of Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-tables</Role>
      <ShortName>Note 2 - Summary of Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>030 - Disclosure - Note 3 - Acquisitions (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-3-acquisitions-tables</Role>
      <ShortName>Note 3 - Acquisitions (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-3-acquisitions</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>031 - Disclosure - Note 4 - Redeemable Noncontrolling Interest (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-tables</Role>
      <ShortName>Note 4 - Redeemable Noncontrolling Interest (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>032 - Disclosure - Note 5 - Derivative Instruments and Hedging Activities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-tables</Role>
      <ShortName>Note 5 - Derivative Instruments and Hedging Activities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>033 - Disclosure - Note 6 - Accumulated Other Comprehensive Loss (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-tables</Role>
      <ShortName>Note 6 - Accumulated Other Comprehensive Loss (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>034 - Disclosure - Note 7 - Segment Reporting (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-7-segment-reporting-tables</Role>
      <ShortName>Note 7 - Segment Reporting (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-7-segment-reporting</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>035 - Disclosure - Note 8 - Balance Sheet Details (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-tables</Role>
      <ShortName>Note 8 - Balance Sheet Details (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>036 - Disclosure - Note 9 - Goodwill and Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-tables</Role>
      <ShortName>Note 9 - Goodwill and Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>037 - Disclosure - Note 10 - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-10-leases-tables</Role>
      <ShortName>Note 10 - Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-10-leases-</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>038 - Disclosure - Note 11 - Product Warranty Obligations (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-tables</Role>
      <ShortName>Note 11 - Product Warranty Obligations (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>039 - Disclosure - Note 12 - Credit Agreements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-12-credit-agreements-tables</Role>
      <ShortName>Note 12 - Credit Agreements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-12-credit-agreements</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>040 - Disclosure - Note 14 - Earnings Per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-tables</Role>
      <ShortName>Note 14 - Earnings Per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-14-earnings-per-share</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>041 - Disclosure - Note 15 - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-15-income-taxes-tables</Role>
      <ShortName>Note 15 - Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-15-income-taxes</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>042 - Disclosure - Note 17 - Share Plans (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-17-share-plans-tables</Role>
      <ShortName>Note 17 - Share Plans (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-17-share-plans</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>043 - Disclosure - Note 19 - Quarterly Financial Information (Unaudited) (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-tables</Role>
      <ShortName>Note 19 - Quarterly Financial Information (Unaudited) (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>044 - Disclosure - Note 20 - Valuation and Qualifying Accounts (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-tables</Role>
      <ShortName>Note 20 - Valuation and Qualifying Accounts (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>045 - Disclosure - Note 2 - Summary of Accounting Policies (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual</Role>
      <ShortName>Note 2 - Summary of Accounting Policies (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-tables</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>046 - Disclosure - Note 2 - Summary of Accounting Policies - Summary of Allowance for Doubtful Accounts (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details</Role>
      <ShortName>Note 2 - Summary of Accounting Policies - Summary of Allowance for Doubtful Accounts (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>047 - Disclosure - Note 2 - Summary of Accounting Policies - Property and Equipment Estimated Useful Lives (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details</Role>
      <ShortName>Note 2 - Summary of Accounting Policies - Property and Equipment Estimated Useful Lives (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>048 - Disclosure - Note 2 - Summary of Accounting Policies - Reconciliation of Contingent Consideration (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details</Role>
      <ShortName>Note 2 - Summary of Accounting Policies - Reconciliation of Contingent Consideration (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>049 - Disclosure - Note 3 - Acquisitions (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual</Role>
      <ShortName>Note 3 - Acquisitions (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-3-acquisitions-tables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>050 - Disclosure - Note 3 - Acquisitions - The Combined Fair Value of the Consideration Transferred for These Acquisitions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details</Role>
      <ShortName>Note 3 - Acquisitions - The Combined Fair Value of the Consideration Transferred for These Acquisitions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>051 - Disclosure - Note 3 - Acquisitions - Preliminary Price Allocation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details</Role>
      <ShortName>Note 3 - Acquisitions - Preliminary Price Allocation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>052 - Disclosure - Note 3 - Acquisitions - Unaudited Pro Forma Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-3-acquisitions-unaudited-pro-forma-information-details</Role>
      <ShortName>Note 3 - Acquisitions - Unaudited Pro Forma Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>053 - Disclosure - Note 4 - Redeemable Noncontrolling Interest (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual</Role>
      <ShortName>Note 4 - Redeemable Noncontrolling Interest (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-tables</ParentRole>
      <Position>54</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>054 - Disclosure - Note 4 - Redeemable Noncontrolling Interest - Redeemable Noncontrolling Interest (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details</Role>
      <ShortName>Note 4 - Redeemable Noncontrolling Interest - Redeemable Noncontrolling Interest (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>055 - Disclosure - Note 5 - Derivative Instruments and Hedging Activities (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual</Role>
      <ShortName>Note 5 - Derivative Instruments and Hedging Activities (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-tables</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>056 - Disclosure - Note 5 - Derivative Instruments and Hedging Activities - Fair Value of Derivatives (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details</Role>
      <ShortName>Note 5 - Derivative Instruments and Hedging Activities - Fair Value of Derivatives (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>057 - Disclosure - Note 6 - Accumulated Other Comprehensive Loss (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-details-textual</Role>
      <ShortName>Note 6 - Accumulated Other Comprehensive Loss (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-tables</ParentRole>
      <Position>58</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>058 - Disclosure - Note 6 - Accumulated Other Comprehensive Loss - Disclosure of Changes in Accumulated Other Comprehensive Loss (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details</Role>
      <ShortName>Note 6 - Accumulated Other Comprehensive Loss - Disclosure of Changes in Accumulated Other Comprehensive Loss (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>059 - Disclosure - Note 7 - Segment Reporting (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual</Role>
      <ShortName>Note 7 - Segment Reporting (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-7-segment-reporting-tables</ParentRole>
      <Position>60</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>060 - Disclosure - Note 7 - Segment Reporting - Net Sales by Products and Services (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details</Role>
      <ShortName>Note 7 - Segment Reporting - Net Sales by Products and Services (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>061 - Disclosure - Note 7 - Segment Reporting - Total Sales by Reportable Segment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details</Role>
      <ShortName>Note 7 - Segment Reporting - Total Sales by Reportable Segment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>062 - Disclosure - Note 7 - Segment Reporting - Segment Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details</Role>
      <ShortName>Note 7 - Segment Reporting - Segment Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>063 - Disclosure - Note 8 - Balance Sheet Details (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-details-textual</Role>
      <ShortName>Note 8 - Balance Sheet Details (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-tables</ParentRole>
      <Position>64</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>064 - Disclosure - Note 8 - Balance Sheet Details - Inventories (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details</Role>
      <ShortName>Note 8 - Balance Sheet Details - Inventories (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>065 - Disclosure - Note 8 - Balance Sheet Details - Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details</Role>
      <ShortName>Note 8 - Balance Sheet Details - Property and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>066 - Disclosure - Note 9 - Goodwill and Intangible Assets (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-details-textual</Role>
      <ShortName>Note 9 - Goodwill and Intangible Assets (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-tables</ParentRole>
      <Position>67</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>067 - Disclosure - Note 9 - Goodwill and Intangible Assets - Carrying Amount of Goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details</Role>
      <ShortName>Note 9 - Goodwill and Intangible Assets - Carrying Amount of Goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>068 - Disclosure - Note 9 - Goodwill and Intangible Assets - Summary of Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details</Role>
      <ShortName>Note 9 - Goodwill and Intangible Assets - Summary of Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>069 - Disclosure - Note 10 - Leases (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-10-leases-details-textual</Role>
      <ShortName>Note 10 - Leases (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-10-leases-tables</ParentRole>
      <Position>70</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>070 - Disclosure - Note 10 - Leases - Leases Cost (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details</Role>
      <ShortName>Note 10 - Leases - Leases Cost (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>071 - Disclosure - Note 10 - Leases - Supplement Balance Sheet Information Related to Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details</Role>
      <ShortName>Note 10 - Leases - Supplement Balance Sheet Information Related to Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>072 - Disclosure - Note 10 - Leases - Supplement Cash Flow Information Related to Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details</Role>
      <ShortName>Note 10 - Leases - Supplement Cash Flow Information Related to Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>73</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>073 - Disclosure - Note 10 - Leases - Weighted Average Remaining Lease Term and Discount Rate Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details</Role>
      <ShortName>Note 10 - Leases - Weighted Average Remaining Lease Term and Discount Rate Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>74</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>074 - Disclosure - Note 10 - Leases - Maturities of Lease liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details</Role>
      <ShortName>Note 10 - Leases - Maturities of Lease liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>75</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>075 - Disclosure - Note 11 - Product Warranty Obligations (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-details-textual</Role>
      <ShortName>Note 11 - Product Warranty Obligations (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-tables</ParentRole>
      <Position>76</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>076 - Disclosure - Note 11 - Product Warranty Obligations - Reconciliation of Product Warranty Liability (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details</Role>
      <ShortName>Note 11 - Product Warranty Obligations - Reconciliation of Product Warranty Liability (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>77</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>077 - Disclosure - Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details</Role>
      <ShortName>Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>78</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>078 - Disclosure - Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties 2 (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details</Role>
      <ShortName>Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties 2 (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>79</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>079 - Disclosure - Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties (Details) (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals</Role>
      <ShortName>Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties (Details) (Parentheticals)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>80</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>080 - Disclosure - Note 11 - Product Warranty Obligations - Deferred Product Obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details</Role>
      <ShortName>Note 11 - Product Warranty Obligations - Deferred Product Obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>081 - Disclosure - Note 12 - Credit Agreements (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual</Role>
      <ShortName>Note 12 - Credit Agreements (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-12-credit-agreements-tables</ParentRole>
      <Position>82</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>082 - Disclosure - Note 12 - Credit Agreements - Long-term Borrowings (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details</Role>
      <ShortName>Note 12 - Credit Agreements - Long-term Borrowings (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>83</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>083 - Disclosure - Note 12 - Credit Agreements - Maturities of Long-term Borrowings Outstanding (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details</Role>
      <ShortName>Note 12 - Credit Agreements - Maturities of Long-term Borrowings Outstanding (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>084 - Disclosure - Note 13 - Stock Repurchase Programs (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual</Role>
      <ShortName>Note 13 - Stock Repurchase Programs (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs</ParentRole>
      <Position>85</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>085 - Disclosure - Note 14 - Earnings Per Share (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-details-textual</Role>
      <ShortName>Note 14 - Earnings Per Share (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-tables</ParentRole>
      <Position>86</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>086 - Disclosure - Note 14 - Earnings Per Share - Reconciliation of Basic and Diluted Earnings Per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details</Role>
      <ShortName>Note 14 - Earnings Per Share - Reconciliation of Basic and Diluted Earnings Per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>87</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>087 - Disclosure - Note 15 - Income Taxes (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-15-income-taxes-details-textual</Role>
      <ShortName>Note 15 - Income Taxes (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-15-income-taxes-tables</ParentRole>
      <Position>88</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>088 - Disclosure - Note 15 - Income Taxes - Provision for Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details</Role>
      <ShortName>Note 15 - Income Taxes - Provision for Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>89</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>089 - Disclosure - Note 15 - Income Taxes - Components of Deferred Tax Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details</Role>
      <ShortName>Note 15 - Income Taxes - Components of Deferred Tax Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>90</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>090 - Disclosure - Note 15 - Income Taxes - Unrecognized Tax Benefits (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-15-income-taxes-unrecognized-tax-benefits-details</Role>
      <ShortName>Note 15 - Income Taxes - Unrecognized Tax Benefits (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>91</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>091 - Disclosure - Note 15 - Income Taxes - Reconciliation of Statutory and Effective Tax Rates (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details</Role>
      <ShortName>Note 15 - Income Taxes - Reconciliation of Statutory and Effective Tax Rates (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>92</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>092 - Disclosure - Note 16 - Benefit Plans (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-16-benefit-plans-details-textual</Role>
      <ShortName>Note 16 - Benefit Plans (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-16-benefit-plans</ParentRole>
      <Position>93</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>093 - Disclosure - Note 17 - Share Plans (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual</Role>
      <ShortName>Note 17 - Share Plans (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-17-share-plans-tables</ParentRole>
      <Position>94</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>094 - Disclosure - Note 17 - Share Plans - Weighted-average Assumptions used in the Black-Scholes-Merton Option Pricing Model (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details</Role>
      <ShortName>Note 17 - Share Plans - Weighted-average Assumptions used in the Black-Scholes-Merton Option Pricing Model (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>95</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R96.htm</HtmlFileName>
      <LongName>095 - Disclosure - Note 17 - Share Plans - Summary of Stock Option Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details</Role>
      <ShortName>Note 17 - Share Plans - Summary of Stock Option Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>96</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R97.htm</HtmlFileName>
      <LongName>096 - Disclosure - Note 17 - Share Plans - Summary of Restricted Share Awards Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details</Role>
      <ShortName>Note 17 - Share Plans - Summary of Restricted Share Awards Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>97</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R98.htm</HtmlFileName>
      <LongName>097 - Disclosure - Note 18 - Commitments and Contingencies (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual</Role>
      <ShortName>Note 18 - Commitments and Contingencies (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies</ParentRole>
      <Position>98</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R99.htm</HtmlFileName>
      <LongName>098 - Disclosure - Note 19 - Quarterly Financial Information (Unaudited) - Unaudited Quarterly Financial Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details</Role>
      <ShortName>Note 19 - Quarterly Financial Information (Unaudited) - Unaudited Quarterly Financial Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-tables</ParentRole>
      <Position>99</Position>
    </Report>
    <Report instance="gnrc20221231_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R100.htm</HtmlFileName>
      <LongName>099 - Disclosure - Note 20 - Valuation and Qualifying Accounts - Schedule of Valuation and Qualifying Accounts (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details</Role>
      <ShortName>Note 20 - Valuation and Qualifying Accounts - Schedule of Valuation and Qualifying Accounts (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>100</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 59 fact(s) appearing in ix:hidden were eligible for transformation: dei:CurrentFiscalYearEndDate, dei:EntityRegistrantName, gnrc:BusinessAcquisitionNoncontrollingInterestTermOfPutOption, gnrc:BusinessAcquisitionTermOfCallOption, gnrc:DeferredCostsAmortizationExpenseNextTwelveMonths, gnrc:DeferredCostsAmortizationExpenseYearFive, gnrc:DeferredCostsAmortizationExpenseYearFour, gnrc:DeferredCostsAmortizationExpenseYearThree, gnrc:DeferredCostsAmortizationExpenseYearTwo, gnrc:ExtendedWarrantyTerm, gnrc:NoncontrollingInterestAgreementExtensionOfTerm, gnrc:NumberOfMajorCustomers, gnrc:NumberOfNewContractsEntered, gnrc:SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod, gnrc:SharesAcquiredUnderStockRepurchasesProgramShares, us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent, us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount, us-gaap:CommonStockParOrStatedValuePerShare, us-gaap:CommonStockSharesAuthorized, us-gaap:CommonStockSharesIssued, us-gaap:DeferredTaxLiabilities, us-gaap:DerivativeFairValueOfDerivativeNet, us-gaap:DerivativeNumberOfInstrumentsHeld, us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths, us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour, us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree, us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo, us-gaap:GoodwillAndIntangibleAssetImpairment, us-gaap:LongTermDebtMaturityDate, us-gaap:NumberOfReportableSegments, us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax, us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1, us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1, us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod, us-gaap:TreasuryStockShares -  gnrc20221231_10k.htm 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69</Log>
  </Logs>
  <InputFiles>
    <File doctype="10-K" original="gnrc20221231_10k.htm">gnrc20221231_10k.htm</File>
    <File>ex_436923.htm</File>
    <File>ex_436924.htm</File>
    <File>ex_436925.htm</File>
    <File>ex_436926.htm</File>
    <File>ex_436927.htm</File>
    <File>ex_436928.htm</File>
    <File>ex_469392.htm</File>
    <File>ex_476961.htm</File>
    <File>gnrc-20221231.xsd</File>
    <File>gnrc-20221231_cal.xml</File>
    <File>gnrc-20221231_def.xml</File>
    <File>gnrc-20221231_lab.xml</File>
    <File>gnrc-20221231_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>chart02.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="1">http://fasb.org/srt/2022</BaseTaxonomy>
    <BaseTaxonomy items="1653">http://fasb.org/us-gaap/2022</BaseTaxonomy>
    <BaseTaxonomy items="39">http://xbrl.sec.gov/dei/2022</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>124
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "gnrc20221231_10k.htm": {
   "axisCustom": 0,
   "axisStandard": 35,
   "baseTaxonomies": {
    "http://fasb.org/srt/2022": 1,
    "http://fasb.org/us-gaap/2022": 1653,
    "http://xbrl.sec.gov/dei/2022": 39
   },
   "contextCount": 426,
   "dts": {
    "calculationLink": {
     "local": [
      "gnrc-20221231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "gnrc-20221231_def.xml"
     ]
    },
    "inline": {
     "local": [
      "gnrc20221231_10k.htm"
     ]
    },
    "labelLink": {
     "local": [
      "gnrc-20221231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "gnrc-20221231_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "gnrc-20221231.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd",
      "https://xbrl.sec.gov/country/2022/country-2022.xsd",
      "https://xbrl.sec.gov/currency/2022/currency-2022.xsd",
      "https://xbrl.sec.gov/dei/2022/dei-2022.xsd",
      "https://xbrl.sec.gov/exch/2022/exch-2022.xsd",
      "https://xbrl.sec.gov/naics/2022/naics-2022.xsd",
      "https://xbrl.sec.gov/sic/2022/sic-2022.xsd",
      "https://xbrl.sec.gov/stpr/2022/stpr-2022.xsd"
     ]
    }
   },
   "elementCount": 800,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2022": 37,
    "http://www.generac.com/20221231": 20,
    "http://xbrl.sec.gov/dei/2022": 6,
    "total": 63
   },
   "keyCustom": 92,
   "keyStandard": 450,
   "memberCustom": 52,
   "memberStandard": 53,
   "nsprefix": "gnrc",
   "nsuri": "http://www.generac.com/20221231",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "000 - Document - Document And Entity Information",
     "menuCat": "Cover",
     "order": "1",
     "role": "http://www.generac.com/20221231/role/statement-document-and-entity-information",
     "shortName": "Document And Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "009 - Disclosure - Note 3 - Acquisitions",
     "menuCat": "Notes",
     "order": "10",
     "role": "http://www.generac.com/20221231/role/statement-note-3-acquisitions",
     "shortName": "Note 3 - Acquisitions",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R100": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "gnrc:ValuationAndQualifyingAccountsTableTextBlock",
       "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2021-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "099 - Disclosure - Note 20 - Valuation and Qualifying Accounts - Schedule of Valuation and Qualifying Accounts (Details)",
     "menuCat": "Details",
     "order": "100",
     "role": "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details",
     "shortName": "Note 20 - Valuation and Qualifying Accounts - Schedule of Valuation and Qualifying Accounts (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "gnrc:ValuationAndQualifyingAccountsTableTextBlock",
       "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2019-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "gnrc:RedeemableNoncontrollingInterestTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "010 - Disclosure - Note 4 - Redeemable Noncontrolling Interest",
     "menuCat": "Notes",
     "order": "11",
     "role": "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest",
     "shortName": "Note 4 - Redeemable Noncontrolling Interest",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "gnrc:RedeemableNoncontrollingInterestTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "011 - Disclosure - Note 5 - Derivative Instruments and Hedging Activities",
     "menuCat": "Notes",
     "order": "12",
     "role": "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities",
     "shortName": "Note 5 - Derivative Instruments and Hedging Activities",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ComprehensiveIncomeNoteTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "012 - Disclosure - Note 6 - Accumulated Other Comprehensive Loss",
     "menuCat": "Notes",
     "order": "13",
     "role": "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss",
     "shortName": "Note 6 - Accumulated Other Comprehensive Loss",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ComprehensiveIncomeNoteTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "013 - Disclosure - Note 7 - Segment Reporting",
     "menuCat": "Notes",
     "order": "14",
     "role": "http://www.generac.com/20221231/role/statement-note-7-segment-reporting",
     "shortName": "Note 7 - Segment Reporting",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "014 - Disclosure - Note 8 - Balance Sheet Details",
     "menuCat": "Notes",
     "order": "15",
     "role": "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details",
     "shortName": "Note 8 - Balance Sheet Details",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "015 - Disclosure - Note 9 - Goodwill and Intangible Assets",
     "menuCat": "Notes",
     "order": "16",
     "role": "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets",
     "shortName": "Note 9 - Goodwill and Intangible Assets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "gnrc:LesseeOperatingLeasesAndFinanceLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "016 - Disclosure - Note 10 - Leases",
     "menuCat": "Notes",
     "order": "17",
     "role": "http://www.generac.com/20221231/role/statement-note-10-leases-",
     "shortName": "Note 10 - Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "gnrc:LesseeOperatingLeasesAndFinanceLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "017 - Disclosure - Note 11 - Product Warranty Obligations",
     "menuCat": "Notes",
     "order": "18",
     "role": "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations",
     "shortName": "Note 11 - Product Warranty Obligations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "018 - Disclosure - Note 12 - Credit Agreements",
     "menuCat": "Notes",
     "order": "19",
     "role": "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
     "shortName": "Note 12 - Credit Agreements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "001 - Statement - Consolidated Balance Sheets",
     "menuCat": "Statements",
     "order": "2",
     "role": "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets",
     "shortName": "Consolidated Balance Sheets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:TreasuryStockTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "019 - Disclosure - Note 13 - Stock Repurchase Programs",
     "menuCat": "Notes",
     "order": "20",
     "role": "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs",
     "shortName": "Note 13 - Stock Repurchase Programs",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:TreasuryStockTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "020 - Disclosure - Note 14 - Earnings Per Share",
     "menuCat": "Notes",
     "order": "21",
     "role": "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share",
     "shortName": "Note 14 - Earnings Per Share",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "021 - Disclosure - Note 15 - Income Taxes",
     "menuCat": "Notes",
     "order": "22",
     "role": "http://www.generac.com/20221231/role/statement-note-15-income-taxes",
     "shortName": "Note 15 - Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "022 - Disclosure - Note 16 - Benefit Plans",
     "menuCat": "Notes",
     "order": "23",
     "role": "http://www.generac.com/20221231/role/statement-note-16-benefit-plans",
     "shortName": "Note 16 - Benefit Plans",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "023 - Disclosure - Note 17 - Share Plans",
     "menuCat": "Notes",
     "order": "24",
     "role": "http://www.generac.com/20221231/role/statement-note-17-share-plans",
     "shortName": "Note 17 - Share Plans",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "024 - Disclosure - Note 18 - Commitments and Contingencies",
     "menuCat": "Notes",
     "order": "25",
     "role": "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies",
     "shortName": "Note 18 - Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "025 - Disclosure - Note 19 - Quarterly Financial Information (Unaudited)",
     "menuCat": "Notes",
     "order": "26",
     "role": "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited",
     "shortName": "Note 19 - Quarterly Financial Information (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "026 - Disclosure - Note 20 - Valuation and Qualifying Accounts",
     "menuCat": "Notes",
     "order": "27",
     "role": "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts",
     "shortName": "Note 20 - Valuation and Qualifying Accounts",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "027 - Disclosure - Note 21 - Subsequent Events",
     "menuCat": "Notes",
     "order": "28",
     "role": "http://www.generac.com/20221231/role/statement-note-21-subsequent-events",
     "shortName": "Note 21 - Subsequent Events",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "028 - Disclosure - Significant Accounting Policies (Policies)",
     "menuCat": "Policies",
     "order": "29",
     "role": "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies",
     "shortName": "Significant Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": null,
     "groupType": "statement",
     "isDefault": "false",
     "longName": "002 - Statement - Consolidated Balance Sheets (Parentheticals)",
     "menuCat": "Statements",
     "order": "3",
     "role": "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets-parentheticals",
     "shortName": "Consolidated Balance Sheets (Parentheticals)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:ReceivablesPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "029 - Disclosure - Note 2 - Summary of Accounting Policies (Tables)",
     "menuCat": "Tables",
     "order": "30",
     "role": "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-tables",
     "shortName": "Note 2 - Summary of Accounting Policies (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:ReceivablesPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "gnrc:ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "030 - Disclosure - Note 3 - Acquisitions (Tables)",
     "menuCat": "Tables",
     "order": "31",
     "role": "http://www.generac.com/20221231/role/statement-note-3-acquisitions-tables",
     "shortName": "Note 3 - Acquisitions (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "gnrc:ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "gnrc:RedeemableNoncontrollingInterestTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RedeemableNoncontrollingInterestTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "031 - Disclosure - Note 4 - Redeemable Noncontrolling Interest (Tables)",
     "menuCat": "Tables",
     "order": "32",
     "role": "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-tables",
     "shortName": "Note 4 - Redeemable Noncontrolling Interest (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "gnrc:RedeemableNoncontrollingInterestTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RedeemableNoncontrollingInterestTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "gnrc:ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "032 - Disclosure - Note 5 - Derivative Instruments and Hedging Activities (Tables)",
     "menuCat": "Tables",
     "order": "33",
     "role": "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-tables",
     "shortName": "Note 5 - Derivative Instruments and Hedging Activities (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "gnrc:ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:ComprehensiveIncomeNoteTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "033 - Disclosure - Note 6 - Accumulated Other Comprehensive Loss (Tables)",
     "menuCat": "Tables",
     "order": "34",
     "role": "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-tables",
     "shortName": "Note 6 - Accumulated Other Comprehensive Loss (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:ComprehensiveIncomeNoteTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "034 - Disclosure - Note 7 - Segment Reporting (Tables)",
     "menuCat": "Tables",
     "order": "35",
     "role": "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-tables",
     "shortName": "Note 7 - Segment Reporting (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "035 - Disclosure - Note 8 - Balance Sheet Details (Tables)",
     "menuCat": "Tables",
     "order": "36",
     "role": "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-tables",
     "shortName": "Note 8 - Balance Sheet Details (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "036 - Disclosure - Note 9 - Goodwill and Intangible Assets (Tables)",
     "menuCat": "Tables",
     "order": "37",
     "role": "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-tables",
     "shortName": "Note 9 - Goodwill and Intangible Assets (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "gnrc:LesseeOperatingLeasesAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "037 - Disclosure - Note 10 - Leases (Tables)",
     "menuCat": "Tables",
     "order": "38",
     "role": "http://www.generac.com/20221231/role/statement-note-10-leases-tables",
     "shortName": "Note 10 - Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "gnrc:LesseeOperatingLeasesAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "038 - Disclosure - Note 11 - Product Warranty Obligations (Tables)",
     "menuCat": "Tables",
     "order": "39",
     "role": "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-tables",
     "shortName": "Note 11 - Product Warranty Obligations (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "003 - Statement - Consolidated Statements of Comprehensive Income",
     "menuCat": "Statements",
     "order": "4",
     "role": "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
     "shortName": "Consolidated Statements of Comprehensive Income",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "039 - Disclosure - Note 12 - Credit Agreements (Tables)",
     "menuCat": "Tables",
     "order": "40",
     "role": "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-tables",
     "shortName": "Note 12 - Credit Agreements (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "040 - Disclosure - Note 14 - Earnings Per Share (Tables)",
     "menuCat": "Tables",
     "order": "41",
     "role": "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-tables",
     "shortName": "Note 14 - Earnings Per Share (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "041 - Disclosure - Note 15 - Income Taxes (Tables)",
     "menuCat": "Tables",
     "order": "42",
     "role": "http://www.generac.com/20221231/role/statement-note-15-income-taxes-tables",
     "shortName": "Note 15 - Income Taxes (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "042 - Disclosure - Note 17 - Share Plans (Tables)",
     "menuCat": "Tables",
     "order": "43",
     "role": "http://www.generac.com/20221231/role/statement-note-17-share-plans-tables",
     "shortName": "Note 17 - Share Plans (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "043 - Disclosure - Note 19 - Quarterly Financial Information (Unaudited) (Tables)",
     "menuCat": "Tables",
     "order": "44",
     "role": "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-tables",
     "shortName": "Note 19 - Quarterly Financial Information (Unaudited) (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "gnrc:ValuationAndQualifyingAccountsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "044 - Disclosure - Note 20 - Valuation and Qualifying Accounts (Tables)",
     "menuCat": "Tables",
     "order": "45",
     "role": "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-tables",
     "shortName": "Note 20 - Valuation and Qualifying Accounts (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "gnrc:ValuationAndQualifyingAccountsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:ReceivablesPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccountsReceivableGross",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "045 - Disclosure - Note 2 - Summary of Accounting Policies (Details Textual)",
     "menuCat": "Details",
     "order": "46",
     "role": "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
     "shortName": "Note 2 - Summary of Accounting Policies (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DebtPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-3",
      "lang": null,
      "name": "gnrc:AmortizationOfFinancingCostsAndDebtDiscountPremium",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "us-gaap:ReceivablesPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2021-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "046 - Disclosure - Note 2 - Summary of Accounting Policies - Summary of Allowance for Doubtful Accounts (Details)",
     "menuCat": "Details",
     "order": "47",
     "role": "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details",
     "shortName": "Note 2 - Summary of Accounting Policies - Summary of Allowance for Doubtful Accounts (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "us-gaap:ReceivablesPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-3",
      "lang": null,
      "name": "gnrc:AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "gnrc:PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandImprovementsMember_RangeAxis-MinimumMember",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "047 - Disclosure - Note 2 - Summary of Accounting Policies - Property and Equipment Estimated Useful Lives (Details)",
     "menuCat": "Details",
     "order": "48",
     "role": "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details",
     "shortName": "Note 2 - Summary of Accounting Policies - Property and Equipment Estimated Useful Lives (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "gnrc:PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-LandImprovementsMember_RangeAxis-MinimumMember",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "gnrc:FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2021-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessCombinationContingentConsiderationLiability",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "048 - Disclosure - Note 2 - Summary of Accounting Policies - Reconciliation of Contingent Consideration (Details)",
     "menuCat": "Details",
     "order": "49",
     "role": "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details",
     "shortName": "Note 2 - Summary of Accounting Policies - Reconciliation of Contingent Consideration (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock",
       "gnrc:FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilityMember",
      "decimals": "-3",
      "lang": null,
      "name": "gnrc:BusinessCombinationContingentConsiderationGainLossChangeInFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2019-12-31_StatementEquityComponentsAxis-CommonStockMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:SharesOutstanding",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "004 - Statement - Consolidated Statements of Stockholders' Equity",
     "menuCat": "Statements",
     "order": "5",
     "role": "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity",
     "shortName": "Consolidated Statements of Stockholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2019-12-31_StatementEquityComponentsAxis-CommonStockMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:SharesOutstanding",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "049 - Disclosure - Note 3 - Acquisitions (Details Textual)",
     "menuCat": "Details",
     "order": "50",
     "role": "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual",
     "shortName": "Note 3 - Acquisitions (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-EECAndBluePillarMember",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "gnrc:ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2021-07-02_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PaymentsToAcquireBusinessesGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "050 - Disclosure - Note 3 - Acquisitions - The Combined Fair Value of the Consideration Transferred for These Acquisitions (Details)",
     "menuCat": "Details",
     "order": "51",
     "role": "http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details",
     "shortName": "Note 3 - Acquisitions - The Combined Fair Value of the Consideration Transferred for These Acquisitions (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "gnrc:ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2021-07-02_2021-07-02_BusinessAcquisitionAxis-AcquisitionOfChiliconMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PaymentsToAcquireBusinessesGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "051 - Disclosure - Note 3 - Acquisitions - Preliminary Price Allocation (Details)",
     "menuCat": "Details",
     "order": "52",
     "role": "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details",
     "shortName": "Note 3 - Acquisitions - Preliminary Price Allocation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31_BusinessAcquisitionAxis-The2022AcquisitionsMember",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-10-01_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "052 - Disclosure - Note 3 - Acquisitions - Unaudited Pro Forma Information (Details)",
     "menuCat": "Details",
     "order": "53",
     "role": "http://www.generac.com/20221231/role/statement-note-3-acquisitions-unaudited-pro-forma-information-details",
     "shortName": "Note 3 - Acquisitions - Unaudited Pro Forma Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:BusinessAcquisitionProFormaInformationNonrecurringAdjustmentsTableTextBlock",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31_StatementScenarioAxis-ProFormaMember",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "053 - Disclosure - Note 4 - Redeemable Noncontrolling Interest (Details Textual)",
     "menuCat": "Details",
     "order": "54",
     "role": "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual",
     "shortName": "Note 4 - Redeemable Noncontrolling Interest (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "gnrc:RedeemableNoncontrollingInterestTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2021-05-31_OwnershipAxis-PramacMember",
      "decimals": "1",
      "lang": null,
      "name": "us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:MinorityInterestChangeInRedemptionValue",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "054 - Disclosure - Note 4 - Redeemable Noncontrolling Interest - Redeemable Noncontrolling Interest (Details)",
     "menuCat": "Details",
     "order": "55",
     "role": "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details",
     "shortName": "Note 4 - Redeemable Noncontrolling Interest - Redeemable Noncontrolling Interest (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:RedeemableNoncontrollingInterestTableTextBlock",
       "gnrc:RedeemableNoncontrollingInterestTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2019-12-31_StatementEquityComponentsAxis-RedeemableNoncontrollingInterestMember",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeGainLossOnDerivativeNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "055 - Disclosure - Note 5 - Derivative Instruments and Hedging Activities (Details Textual)",
     "menuCat": "Details",
     "order": "56",
     "role": "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual",
     "shortName": "Note 5 - Derivative Instruments and Hedging Activities (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeGainLossOnDerivativeNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "gnrc:ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31_DerivativeInstrumentRiskAxis-ForeignExchangeContractMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeFairValueOfDerivativeNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "056 - Disclosure - Note 5 - Derivative Instruments and Hedging Activities - Fair Value of Derivatives (Details)",
     "menuCat": "Details",
     "order": "57",
     "role": "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details",
     "shortName": "Note 5 - Derivative Instruments and Hedging Activities - Fair Value of Derivatives (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "gnrc:ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31_DerivativeInstrumentRiskAxis-ForeignExchangeContractMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeFairValueOfDerivativeNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ComprehensiveIncomeNoteTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "057 - Disclosure - Note 6 - Accumulated Other Comprehensive Loss (Details Textual)",
     "menuCat": "Details",
     "order": "58",
     "role": "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-details-textual",
     "shortName": "Note 6 - Accumulated Other Comprehensive Loss (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ComprehensiveIncomeNoteTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedGainLossNetCashFlowHedgeParentMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2021-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "058 - Disclosure - Note 6 - Accumulated Other Comprehensive Loss - Disclosure of Changes in Accumulated Other Comprehensive Loss (Details)",
     "menuCat": "Details",
     "order": "59",
     "role": "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details",
     "shortName": "Note 6 - Accumulated Other Comprehensive Loss - Disclosure of Changes in Accumulated Other Comprehensive Loss (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
       "us-gaap:ComprehensiveIncomeNoteTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": null,
     "groupType": "statement",
     "isDefault": "false",
     "longName": "005 - Statement - Consolidated Statements of Stockholders' Equity (Parentheticals)",
     "menuCat": "Statements",
     "order": "6",
     "role": "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity-parentheticals",
     "shortName": "Consolidated Statements of Stockholders' Equity (Parentheticals)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "us-gaap:ReceivablesPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProvisionForDoubtfulAccounts",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "059 - Disclosure - Note 7 - Segment Reporting (Details Textual)",
     "menuCat": "Details",
     "order": "60",
     "role": "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual",
     "shortName": "Note 7 - Segment Reporting (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-7",
      "lang": null,
      "name": "us-gaap:ProvisionForOtherLosses",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-10-01_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "060 - Disclosure - Note 7 - Segment Reporting - Net Sales by Products and Services (Details)",
     "menuCat": "Details",
     "order": "61",
     "role": "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details",
     "shortName": "Note 7 - Segment Reporting - Net Sales by Products and Services (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31_ProductOrServiceAxis-ResidentialPowerProductsMember",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-10-01_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "061 - Disclosure - Note 7 - Segment Reporting - Total Sales by Reportable Segment (Details)",
     "menuCat": "Details",
     "order": "62",
     "role": "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details",
     "shortName": "Note 7 - Segment Reporting - Total Sales by Reportable Segment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31_ProductOrServiceAxis-ExternalNetSalesMember",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "gnrc:AdjustedEBITDA",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "062 - Disclosure - Note 7 - Segment Reporting - Segment Information (Details)",
     "menuCat": "Details",
     "order": "63",
     "role": "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details",
     "shortName": "Note 7 - Segment Reporting - Segment Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "gnrc:AdjustedEBITDA",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "063 - Disclosure - Note 8 - Balance Sheet Details (Details Textual)",
     "menuCat": "Details",
     "order": "64",
     "role": "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-details-textual",
     "shortName": "Note 8 - Balance Sheet Details (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R65": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "064 - Disclosure - Note 8 - Balance Sheet Details - Inventories (Details)",
     "menuCat": "Details",
     "order": "65",
     "role": "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details",
     "shortName": "Note 8 - Balance Sheet Details - Inventories (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R66": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "065 - Disclosure - Note 8 - Balance Sheet Details - Property and Equipment (Details)",
     "menuCat": "Details",
     "order": "66",
     "role": "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details",
     "shortName": "Note 8 - Balance Sheet Details - Property and Equipment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R67": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "066 - Disclosure - Note 9 - Goodwill and Intangible Assets (Details Textual)",
     "menuCat": "Details",
     "order": "67",
     "role": "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-details-textual",
     "shortName": "Note 9 - Goodwill and Intangible Assets (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R68": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2021-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "067 - Disclosure - Note 9 - Goodwill and Intangible Assets - Carrying Amount of Goodwill (Details)",
     "menuCat": "Details",
     "order": "68",
     "role": "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details",
     "shortName": "Note 9 - Goodwill and Intangible Assets - Carrying Amount of Goodwill (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:GoodwillAcquiredDuringPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R69": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "gnrc:ScheduleOfIntangibleAssetsTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "068 - Disclosure - Note 9 - Goodwill and Intangible Assets - Summary of Intangible Assets (Details)",
     "menuCat": "Details",
     "order": "69",
     "role": "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details",
     "shortName": "Note 9 - Goodwill and Intangible Assets - Summary of Intangible Assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "gnrc:ScheduleOfIntangibleAssetsTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "006 - Statement - Consolidated Statements of Cash Flows",
     "menuCat": "Statements",
     "order": "7",
     "role": "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows",
     "shortName": "Consolidated Statements of Cash Flows",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AmortizationOfFinancingCostsAndDiscounts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R70": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "gnrc:LesseeOperatingLeasesAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "gnrc:LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "069 - Disclosure - Note 10 - Leases (Details Textual)",
     "menuCat": "Details",
     "order": "70",
     "role": "http://www.generac.com/20221231/role/statement-note-10-leases-details-textual",
     "shortName": "Note 10 - Leases (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "gnrc:LesseeOperatingLeasesAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "gnrc:LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R71": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "gnrc:LesseeOperatingLeasesAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "070 - Disclosure - Note 10 - Leases - Leases Cost (Details)",
     "menuCat": "Details",
     "order": "71",
     "role": "http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details",
     "shortName": "Note 10 - Leases - Leases Cost (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "gnrc:LesseeOperatingLeasesAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R72": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "gnrc:ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock",
       "gnrc:LesseeOperatingLeasesAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "gnrc:FinanceLeaseRightOfUseAssetGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "071 - Disclosure - Note 10 - Leases - Supplement Balance Sheet Information Related to Leases (Details)",
     "menuCat": "Details",
     "order": "72",
     "role": "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details",
     "shortName": "Note 10 - Leases - Supplement Balance Sheet Information Related to Leases (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "gnrc:ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock",
       "gnrc:LesseeOperatingLeasesAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "gnrc:FinanceLeaseRightOfUseAssetGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R73": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "gnrc:ScheduleOfLeasesCashFlowInformationTableTextBlock",
       "gnrc:LesseeOperatingLeasesAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeasePayments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "072 - Disclosure - Note 10 - Leases - Supplement Cash Flow Information Related to Leases (Details)",
     "menuCat": "Details",
     "order": "73",
     "role": "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details",
     "shortName": "Note 10 - Leases - Supplement Cash Flow Information Related to Leases (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "gnrc:ScheduleOfLeasesCashFlowInformationTableTextBlock",
       "gnrc:LesseeOperatingLeasesAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeasePayments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R74": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "gnrc:LeaseTermAndDiscountRateTableTextBlock",
       "gnrc:LesseeOperatingLeasesAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "073 - Disclosure - Note 10 - Leases - Weighted Average Remaining Lease Term and Discount Rate Information (Details)",
     "menuCat": "Details",
     "order": "74",
     "role": "http://www.generac.com/20221231/role/statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details",
     "shortName": "Note 10 - Leases - Weighted Average Remaining Lease Term and Discount Rate Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "gnrc:LeaseTermAndDiscountRateTableTextBlock",
       "gnrc:LesseeOperatingLeasesAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R75": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "gnrc:OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock",
       "gnrc:LesseeOperatingLeasesAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "074 - Disclosure - Note 10 - Leases - Maturities of Lease liabilities (Details)",
     "menuCat": "Details",
     "order": "75",
     "role": "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details",
     "shortName": "Note 10 - Leases - Maturities of Lease liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "gnrc:OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock",
       "gnrc:LesseeOperatingLeasesAndFinanceLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R76": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-07-01_2022-09-30",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "gnrc:StandardProductWarrantyAccrualWarrantyProvision",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "075 - Disclosure - Note 11 - Product Warranty Obligations (Details Textual)",
     "menuCat": "Details",
     "order": "76",
     "role": "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-details-textual",
     "shortName": "Note 11 - Product Warranty Obligations (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:CapitalizedContractCostNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R77": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2021-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StandardProductWarrantyAccrual",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "076 - Disclosure - Note 11 - Product Warranty Obligations - Reconciliation of Product Warranty Liability (Details)",
     "menuCat": "Details",
     "order": "77",
     "role": "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details",
     "shortName": "Note 11 - Product Warranty Obligations - Reconciliation of Product Warranty Liability (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R78": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "077 - Disclosure - Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties (Details)",
     "menuCat": "Details",
     "order": "78",
     "role": "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details",
     "shortName": "Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R79": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "078 - Disclosure - Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties 2 (Details)",
     "menuCat": "Details",
     "order": "79",
     "role": "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details",
     "shortName": "Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties 2 (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-01-01",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "007 - Disclosure - Note 1 - Description of Business",
     "menuCat": "Notes",
     "order": "8",
     "role": "http://www.generac.com/20221231/role/statement-note-1-description-of-business",
     "shortName": "Note 1 - Description of Business",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R80": {
     "firstAnchor": null,
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "079 - Disclosure - Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties (Details) (Parentheticals)",
     "menuCat": "Details",
     "order": "80",
     "role": "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals",
     "shortName": "Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties (Details) (Parentheticals)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R81": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "gnrc:ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StandardProductWarrantyAccrualCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "080 - Disclosure - Note 11 - Product Warranty Obligations - Deferred Product Obligations (Details)",
     "menuCat": "Details",
     "order": "81",
     "role": "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details",
     "shortName": "Note 11 - Product Warranty Obligations - Deferred Product Obligations (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "gnrc:ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StandardProductWarrantyAccrualCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R82": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShortTermBorrowings",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "081 - Disclosure - Note 12 - Credit Agreements (Details Textual)",
     "menuCat": "Details",
     "order": "82",
     "role": "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
     "shortName": "Note 12 - Credit Agreements (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2021-05-31_CreditFacilityAxis-ABLRevolvingCreditFacilityMember",
      "decimals": "-8",
      "lang": null,
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R83": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentUnamortizedDiscount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "082 - Disclosure - Note 12 - Credit Agreements - Long-term Borrowings (Details)",
     "menuCat": "Details",
     "order": "83",
     "role": "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details",
     "shortName": "Note 12 - Credit Agreements - Long-term Borrowings (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentUnamortizedDiscount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R84": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "083 - Disclosure - Note 12 - Credit Agreements - Maturities of Long-term Borrowings Outstanding (Details)",
     "menuCat": "Details",
     "order": "84",
     "role": "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details",
     "shortName": "Note 12 - Credit Agreements - Maturities of Long-term Borrowings Outstanding (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R85": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:TreasuryStockTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-08-05",
      "decimals": "-8",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "084 - Disclosure - Note 13 - Stock Repurchase Programs (Details Textual)",
     "menuCat": "Details",
     "order": "85",
     "role": "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual",
     "shortName": "Note 13 - Stock Repurchase Programs (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:TreasuryStockTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-08-05",
      "decimals": "-8",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R86": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "085 - Disclosure - Note 14 - Earnings Per Share (Details Textual)",
     "menuCat": "Details",
     "order": "86",
     "role": "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-details-textual",
     "shortName": "Note 14 - Earnings Per Share (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     }
    },
    "R87": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-10-01_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "086 - Disclosure - Note 14 - Earnings Per Share - Reconciliation of Basic and Diluted Earnings Per Share (Details)",
     "menuCat": "Details",
     "order": "87",
     "role": "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details",
     "shortName": "Note 14 - Earnings Per Share - Reconciliation of Basic and Diluted Earnings Per Share (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-3",
      "lang": null,
      "name": "gnrc:NetIncomeLossAvailableToCommonStockholders",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R88": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredIncomeTaxAssetsNet",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "087 - Disclosure - Note 15 - Income Taxes (Details Textual)",
     "menuCat": "Details",
     "order": "88",
     "role": "http://www.generac.com/20221231/role/statement-note-15-income-taxes-details-textual",
     "shortName": "Note 15 - Income Taxes (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-3",
      "lang": null,
      "name": "gnrc:VauationAllowancesAndReservesAdjustments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R89": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "088 - Disclosure - Note 15 - Income Taxes - Provision for Income Taxes (Details)",
     "menuCat": "Details",
     "order": "89",
     "role": "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details",
     "shortName": "Note 15 - Income Taxes - Provision for Income Taxes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "008 - Disclosure - Note 2 - Summary of Accounting Policies",
     "menuCat": "Notes",
     "order": "9",
     "role": "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
     "shortName": "Note 2 - Summary of Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R90": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "089 - Disclosure - Note 15 - Income Taxes - Components of Deferred Tax Assets and Liabilities (Details)",
     "menuCat": "Details",
     "order": "90",
     "role": "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details",
     "shortName": "Note 15 - Income Taxes - Components of Deferred Tax Assets and Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R91": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2021-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090 - Disclosure - Note 15 - Income Taxes - Unrecognized Tax Benefits (Details)",
     "menuCat": "Details",
     "order": "91",
     "role": "http://www.generac.com/20221231/role/statement-note-15-income-taxes-unrecognized-tax-benefits-details",
     "shortName": "Note 15 - Income Taxes - Unrecognized Tax Benefits (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2020-12-31",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R92": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "091 - Disclosure - Note 15 - Income Taxes - Reconciliation of Statutory and Effective Tax Rates (Details)",
     "menuCat": "Details",
     "order": "92",
     "role": "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details",
     "shortName": "Note 15 - Income Taxes - Reconciliation of Statutory and Effective Tax Rates (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R93": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "gnrc:EmployerContributionUnderMedicalAndDentalPlan",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "092 - Disclosure - Note 16 - Benefit Plans (Details Textual)",
     "menuCat": "Details",
     "order": "93",
     "role": "http://www.generac.com/20221231/role/statement-note-16-benefit-plans-details-textual",
     "shortName": "Note 16 - Benefit Plans (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": "-4",
      "first": true,
      "lang": null,
      "name": "gnrc:EmployerContributionUnderMedicalAndDentalPlan",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R94": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2010-02-10",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "093 - Disclosure - Note 17 - Share Plans (Details Textual)",
     "menuCat": "Details",
     "order": "94",
     "role": "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual",
     "shortName": "Note 17 - Share Plans (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2010-02-10",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     }
    },
    "R95": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USDPerShare",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "094 - Disclosure - Note 17 - Share Plans - Weighted-average Assumptions used in the Black-Scholes-Merton Option Pricing Model (Details)",
     "menuCat": "Details",
     "order": "95",
     "role": "http://www.generac.com/20221231/role/statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details",
     "shortName": "Note 17 - Share Plans - Weighted-average Assumptions used in the Black-Scholes-Merton Option Pricing Model (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeStockOptionMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USDPerShare",
      "xsiNil": "false"
     }
    },
    "R96": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2021-12-31",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unitRef": "Share",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "095 - Disclosure - Note 17 - Share Plans - Summary of Stock Option Activity (Details)",
     "menuCat": "Details",
     "order": "96",
     "role": "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details",
     "shortName": "Note 17 - Share Plans - Summary of Stock Option Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-01-01_2022-12-31",
      "decimals": null,
      "lang": "en-US",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R97": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2021-12-31",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unitRef": "Share",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "096 - Disclosure - Note 17 - Share Plans - Summary of Restricted Share Awards Activity (Details)",
     "menuCat": "Details",
     "order": "97",
     "role": "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details",
     "shortName": "Note 17 - Share Plans - Summary of Restricted Share Awards Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2019-12-31",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     }
    },
    "R98": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "gnrc:AmountFinancedByDealers",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "097 - Disclosure - Note 18 - Commitments and Contingencies (Details Textual)",
     "menuCat": "Details",
     "order": "98",
     "role": "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual",
     "shortName": "Note 18 - Commitments and Contingencies (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "i_2022-12-31",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "gnrc:AmountFinancedByDealers",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R99": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-10-01_2022-12-31",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "098 - Disclosure - Note 19 - Quarterly Financial Information (Unaudited) - Unaudited Quarterly Financial Information (Details)",
     "menuCat": "Details",
     "order": "99",
     "role": "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details",
     "shortName": "Note 19 - Quarterly Financial Information (Unaudited) - Unaudited Quarterly Financial Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "body",
       "html"
      ],
      "baseRef": "gnrc20221231_10k.htm",
      "contextRef": "d_2022-10-01_2022-12-31",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:GrossProfit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 111,
   "tag": {
    "country_US": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES"
       }
      }
     },
     "localname": "US",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AuditorFirmId": {
     "auth_ref": [
      "r827",
      "r828",
      "r829"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "PCAOB issued Audit Firm Identifier",
        "label": "Auditor Firm ID"
       }
      }
     },
     "localname": "AuditorFirmId",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "nonemptySequenceNumberItemType"
    },
    "dei_AuditorLocation": {
     "auth_ref": [
      "r827",
      "r828",
      "r829"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "localname": "AuditorLocation",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_AuditorName": {
     "auth_ref": [
      "r827",
      "r828",
      "r829"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "localname": "AuditorName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r827",
      "r828",
      "r829"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an annual report.",
        "label": "Document Annual Report"
       }
      }
     },
     "localname": "DocumentAnnualReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Document Information [Line Items]"
       }
      }
     },
     "localname": "DocumentInformationLineItems",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_DocumentInformationTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package.",
        "label": "Document Information [Table]"
       }
      }
     },
     "localname": "DocumentInformationTable",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "xbrltype": "stringItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r830"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r825"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.",
        "label": "Entity [Domain]"
       }
      }
     },
     "localname": "EntityDomain",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets",
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets-parentheticals",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-document-and-entity-information",
      "http://www.generac.com/20221231/role/statement-note-1-description-of-business",
      "http://www.generac.com/20221231/role/statement-note-10-leases-",
      "http://www.generac.com/20221231/role/statement-note-10-leases-details-textual",
      "http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-tables",
      "http://www.generac.com/20221231/role/statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-details-textual",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-tables",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-tables",
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs",
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-details-textual",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-tables",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-details-textual",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-tables",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-unrecognized-tax-benefits-details",
      "http://www.generac.com/20221231/role/statement-note-16-benefit-plans",
      "http://www.generac.com/20221231/role/statement-note-16-benefit-plans-details-textual",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-tables",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited",
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-tables",
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-tables",
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts",
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details",
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-tables",
      "http://www.generac.com/20221231/role/statement-note-21-subsequent-events",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-tables",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-unaudited-pro-forma-information-details",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-tables",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-tables",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-details-textual",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-tables",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-tables",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-details-textual",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-tables",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-details-textual",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-tables",
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r825"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r825"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r831"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityPublicFloat": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.",
        "label": "Entity Public Float"
       }
      }
     },
     "localname": "EntityPublicFloat",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r825"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r825"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r825"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r825"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.",
        "label": "Entity Voluntary Filers"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [
      "r832"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.",
        "label": "Entity Well-known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_IcfrAuditorAttestationFlag": {
     "auth_ref": [
      "r827",
      "r828",
      "r829"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "localname": "IcfrAuditorAttestationFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_LegalEntityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The set of legal entities associated with a report.",
        "label": "Legal Entity [Axis]"
       }
      }
     },
     "localname": "LegalEntityAxis",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets",
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets-parentheticals",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-document-and-entity-information",
      "http://www.generac.com/20221231/role/statement-note-1-description-of-business",
      "http://www.generac.com/20221231/role/statement-note-10-leases-",
      "http://www.generac.com/20221231/role/statement-note-10-leases-details-textual",
      "http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-tables",
      "http://www.generac.com/20221231/role/statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-details-textual",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-tables",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-tables",
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs",
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-details-textual",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-tables",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-details-textual",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-tables",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-unrecognized-tax-benefits-details",
      "http://www.generac.com/20221231/role/statement-note-16-benefit-plans",
      "http://www.generac.com/20221231/role/statement-note-16-benefit-plans-details-textual",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-tables",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited",
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-tables",
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-tables",
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts",
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details",
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-tables",
      "http://www.generac.com/20221231/role/statement-note-21-subsequent-events",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-tables",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-unaudited-pro-forma-information-details",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-tables",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-tables",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-details-textual",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-tables",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-tables",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-details-textual",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-tables",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-details-textual",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-tables",
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r824"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r826"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-document-and-entity-information"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "gnrc_ABLRevolvingCreditFacilityMember": {
     "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": "ABL Revolving Credit Facility [Member]"
       }
      }
     },
     "localname": "ABLRevolvingCreditFacilityMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in allowance for credit loss on accounts receivable, from currency translation.",
        "label": "Currency translation"
       }
      }
     },
     "localname": "AccountsReceivableAllowanceForCreditLossGainLossOnCurrencyTranslation",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_AcquisitionOfChiliconMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents acquisition of chilicon.",
        "label": "Acquisition of Chilicon [Member]"
       }
      }
     },
     "localname": "AcquisitionOfChiliconMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_AcquisitionOfDeepSeaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information regarding the acquisition of Deep Sea. Headquartered in Hunmanby, United Kingdom, Deep Sea is a designer and manufacturer of a diverse suite of controller products that provide flexible solutions for multiple applications including generators, automatic transfer switches, battery charging, and off-highway vehicles.",
        "label": "Acquisition of Deep Sea [Member]"
       }
      }
     },
     "localname": "AcquisitionOfDeepSeaMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_AcquisitionOfEnbalaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents acquisition of Enbala.",
        "label": "Acquisition of Enbala [Member]"
       }
      }
     },
     "localname": "AcquisitionOfEnbalaMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_AcquisitionOfOffGridEnergyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents acquisition of Off Grid Energy.",
        "label": "Acquisition of Off Grid Energy [Member]"
       }
      }
     },
     "localname": "AcquisitionOfOffGridEnergyMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_AcquisitionRelatedCostsPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for acquisition related costs.",
        "label": "Acquisition Related Costs [Policy Text Block]"
       }
      }
     },
     "localname": "AcquisitionRelatedCostsPolicyTextBlock",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "gnrc_AdjustedEBITDA": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents net income before interest expense, taxes, depreciation and amortization, as further adjusted for other non-cash items",
        "label": "gnrc_AdjustedEBITDA",
        "terseLabel": "Total adjusted EBITDA"
       }
      }
     },
     "localname": "AdjustedEBITDA",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_AdjustedLIBORRateMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Adjusted interest rate at which a bank borrows funds from other banks in the London interbank market, plus an applicable margin.",
        "label": "Adjusted LIBOR Rate [Member]"
       }
      }
     },
     "localname": "AdjustedLIBORRateMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_AllAcquisitionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents all acquisitions.",
        "label": "All Acquisitions [Member]"
       }
      }
     },
     "localname": "AllAcquisitionsMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_AllOther2021AcquisitionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents all other acquisitions in 2021 except for Deep Sea.",
        "label": "All Other 2021 Acquisitions [Member]"
       }
      }
     },
     "localname": "AllOther2021AcquisitionsMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents increase in allowance for doubtful accounts receivable from Establishment for Acquisitions",
        "label": "Established for acquisitions"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableEstablishedForAcquisitions",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_AmortizationOfDeferredRevenueOnExtendedWarrantyContracts": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the aggregate decrease in the liability for accruals related to extended product warranties issued during the reporting period, due to amortization of deferred revenue.",
        "label": "Amortization of deferred revenue contracts"
       }
      }
     },
     "localname": "AmortizationOfDeferredRevenueOnExtendedWarrantyContracts",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_AmortizationOfFinancingCostsAndDebtDiscountPremium": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of non-cash expense included in interest expense to issue and amortize debt discount and obtain financing associated with the related debt instruments.",
        "label": "gnrc_AmortizationOfFinancingCostsAndDebtDiscountPremium",
        "terseLabel": "Amortization of Financing Costs and Debt Discount Premium"
       }
      }
     },
     "localname": "AmortizationOfFinancingCostsAndDebtDiscountPremium",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_AmountFinancedByDealers": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount financed by dealers to purchase goods from the entity.",
        "label": "gnrc_AmountFinancedByDealers",
        "terseLabel": "Amount Financed by Dealers"
       }
      }
     },
     "localname": "AmountFinancedByDealers",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_BusinessAcquisitionNoncontrollingInterestTermOfPutOption": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The term of a put option available to the noncontrolling interest of a business acquired by the reporting entity.",
        "label": "gnrc_BusinessAcquisitionNoncontrollingInterestTermOfPutOption",
        "terseLabel": "Business Acquisition, Noncontrolling Interest, Term of Put Option (Year)"
       }
      }
     },
     "localname": "BusinessAcquisitionNoncontrollingInterestTermOfPutOption",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of acquisition cost of a business combination allocated to an identifiable intangible asset including goodwill.",
        "label": "gnrc_BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill",
        "terseLabel": "Business Acquisition, Purchase Price Allocation, Intangible Assets Including Goodwill"
       }
      }
     },
     "localname": "BusinessAcquisitionPurchasePriceAllocationIntangibleAssetsIncludingGoodwill",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_BusinessAcquisitionTermOfCallOption": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The term of call option available to the company in a business acquisition transaction.",
        "label": "gnrc_BusinessAcquisitionTermOfCallOption",
        "terseLabel": "Business Acquisition, Term of Call Option (Year)"
       }
      }
     },
     "localname": "BusinessAcquisitionTermOfCallOption",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "gnrc_BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The gain (loss) due to currency translation of contingent consideration arrangements in business combination.",
        "label": "gnrc_BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation",
        "verboseLabel": "Currency translation"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationArrangementsGainLossDueToCurrencyTranslation",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of increase due to present value interest accretion in contingent consideration arrangements from business combinations.",
        "label": "Present value interest accretion"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationArrangementsIncreaseDueToPresentValueInterestAccretion",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_BusinessCombinationContingentConsiderationGainLossChangeInFairValue": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) from change in fair value of contingent consideration from business combination.",
        "label": "Changes in fair value",
        "negatedLabel": "Other noncash charges"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationGainLossChangeInFairValue",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details": {
       "order": 7.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the total assets acquired from a business combination which includes identifiable assets acquired and liabilities assumed assets, including goodwill.",
        "label": "gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill",
        "totalLabel": "Total assets acquired"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details": {
       "order": 1.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accrued wages and employee benefits due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.",
        "label": "gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits",
        "verboseLabel": "Accrued wages and employee benefits"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedWagesAndEmployeeBenefits",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details": {
       "order": 3.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of short-term borrowing expected to be recognized as such within one year or the normal operating cycle, if longer, assumed at the acquisition date.",
        "label": "gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings",
        "verboseLabel": "Short-term borrowings"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesShorttermBorrowings",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_BusinessOptimizationExpense": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents charges relating to business optimization and restructuring costs.",
        "label": "gnrc_BusinessOptimizationExpense",
        "negatedLabel": "Business optimization and other charges"
       }
      }
     },
     "localname": "BusinessOptimizationExpense",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_CaptivaEnergySolutionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information about Captiva Energy Solutions.",
        "label": "Captiva Energy Solutions [Member]"
       }
      }
     },
     "localname": "CaptivaEnergySolutionsMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_CleanEnergyProductMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Relating to Clean Energy Product.",
        "label": "Clean Energy Product [Member]"
       }
      }
     },
     "localname": "CleanEnergyProductMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_CommercialAndIndustrialPowerProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents products and services related to commercial and industrial power.",
        "label": "Commercial and Industrial Power Products [Member]"
       }
      }
     },
     "localname": "CommercialAndIndustrialPowerProductsMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_ContingentConsiderationLiabilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents contingent consideration liabilities.",
        "label": "Contingent Consideration Liability [Member]"
       }
      }
     },
     "localname": "ContingentConsiderationLiabilityMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_ContingentConsiderationPayments": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of contingent consideration paid during period, including equity issued as payment.",
        "label": "gnrc_ContingentConsiderationPayments",
        "negatedLabel": "Payment of contingent consideration (1)"
       }
      }
     },
     "localname": "ContingentConsiderationPayments",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_ContingentConsiderationSharePaymentShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of shares in a share payment for contingent consideration.",
        "label": "gnrc_ContingentConsiderationSharePaymentShares",
        "terseLabel": "Contingent Consideration, Share Payment, Shares (in shares)"
       }
      }
     },
     "localname": "ContingentConsiderationSharePaymentShares",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual"
     ],
     "xbrltype": "sharesItemType"
    },
    "gnrc_ContingentConsiderationSharePaymentsValue": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the monetary amount of share payments for contingent consideration.",
        "label": "gnrc_ContingentConsiderationSharePaymentsValue",
        "terseLabel": "Contingent Consideration, Share Payments, Value"
       }
      }
     },
     "localname": "ContingentConsiderationSharePaymentsValue",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_CovenantMaximumTotalLeverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum financial condition covenant applicable to Tranche A Term Loan Facility and Revolving Facility only.",
        "label": "gnrc_CovenantMaximumTotalLeverageRatio",
        "terseLabel": "Covenant Maximum Total Leverage Ratio"
       }
      }
     },
     "localname": "CovenantMaximumTotalLeverageRatio",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "pureItemType"
    },
    "gnrc_CovenantMinimumInterestCoverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The minimum interest coverage ratio required under the covenant.",
        "label": "gnrc_CovenantMinimumInterestCoverageRatio",
        "terseLabel": "Covenant Minimum Interest Coverage Ratio"
       }
      }
     },
     "localname": "CovenantMinimumInterestCoverageRatio",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "pureItemType"
    },
    "gnrc_CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to current portion of long-term borrowings and finance lease obligations.",
        "label": "Current Portion of Long-term Borrowings and Finance Lease Obligations [Member]"
       }
      }
     },
     "localname": "CurrentPortionOfLongtermBorrowingsAndFinanceLeaseObligationsMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_DebtInstrumentSOFRFloor": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "SOFR floor rate on debt instrument.",
        "label": "gnrc_DebtInstrumentSOFRFloor",
        "terseLabel": "Debt Instrument, SOFR Floor"
       }
      }
     },
     "localname": "DebtInstrumentSOFRFloor",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "gnrc_DeferredCompensationArrangementWithIndividualSharesGranted": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares granted in a deferred compensation arrangement with an individual.",
        "label": "gnrc_DeferredCompensationArrangementWithIndividualSharesGranted",
        "terseLabel": "Deferred Compensation Arrangement with Individual, Shares Granted (in shares)"
       }
      }
     },
     "localname": "DeferredCompensationArrangementWithIndividualSharesGranted",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "sharesItemType"
    },
    "gnrc_DeferredCostsAmortizationExpenseNextTwelveMonths": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense expected to be recognized during the next fiscal year following the latest fiscal year for deferred costs.",
        "label": "gnrc_DeferredCostsAmortizationExpenseNextTwelveMonths",
        "terseLabel": "Deferred Costs Amortization Expense, Next Twelve Months"
       }
      }
     },
     "localname": "DeferredCostsAmortizationExpenseNextTwelveMonths",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_DeferredCostsAmortizationExpenseYearFive": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense expected to be recognized during the fifth fiscal year following the latest fiscal year for deferred costs.",
        "label": "gnrc_DeferredCostsAmortizationExpenseYearFive",
        "terseLabel": "Deferred Costs Amortization Expense, Year Five"
       }
      }
     },
     "localname": "DeferredCostsAmortizationExpenseYearFive",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_DeferredCostsAmortizationExpenseYearFour": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense expected to be recognized during the fourth fiscal year following the latest fiscal year for deferred costs.",
        "label": "gnrc_DeferredCostsAmortizationExpenseYearFour",
        "terseLabel": "Deferred Costs Amortization Expense, Year Four"
       }
      }
     },
     "localname": "DeferredCostsAmortizationExpenseYearFour",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_DeferredCostsAmortizationExpenseYearThree": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense expected to be recognized during the third fiscal year following the latest fiscal year for deferred costs.",
        "label": "gnrc_DeferredCostsAmortizationExpenseYearThree",
        "terseLabel": "Deferred Costs Amortization Expense, Year Three"
       }
      }
     },
     "localname": "DeferredCostsAmortizationExpenseYearThree",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_DeferredCostsAmortizationExpenseYearTwo": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense expected to be recognized during the second fiscal year following the latest fiscal year for deferred costs.",
        "label": "gnrc_DeferredCostsAmortizationExpenseYearTwo",
        "terseLabel": "Deferred Costs Amortization Expense, Year Two"
       }
      }
     },
     "localname": "DeferredCostsAmortizationExpenseYearTwo",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The component of income tax expense for the period representing the increase (decrease) in the entity's deferred tax assets and liabilities pertaining to continuing operations before adjustment of change in valuation allowance.",
        "label": "gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance",
        "totalLabel": "Deferred Income Tax Expense (Benefit) Before Adjustment of Valuation Allowance"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_DefinedContributionPlanPercentageOfEligibleCompensation": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of eligible compensation of employees under defined contribution plan.",
        "label": "gnrc_DefinedContributionPlanPercentageOfEligibleCompensation",
        "terseLabel": "Defined Contribution Plan Percentage of Eligible Compensation"
       }
      }
     },
     "localname": "DefinedContributionPlanPercentageOfEligibleCompensation",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-16-benefit-plans-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "gnrc_DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets. Amount includes additional accelerated depreciation recognized in the current period.",
        "label": "Depreciation and Amortization"
       }
      }
     },
     "localname": "DepreciationDepletionAndAmortizationIncludingAdditionalAcceleratedDepreciation",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the fair value of derivative contracts excluding impact of credit risk.",
        "label": "gnrc_DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk",
        "terseLabel": "Derivative Assets (Liabilities), Net Fair Value of Derivative Contracts, Excluding Impact of Credit Risk"
       }
      }
     },
     "localname": "DerivativeAssetsLiabilitiesNetFairValueOfDerivativeContractsExcludingImpactOfCreditRisk",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_DiesAndToolsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used to produce goods and services.",
        "label": "Dies and Tools [Member]"
       }
      }
     },
     "localname": "DiesAndToolsMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_DomesticMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information regarding domestic reportable segment.",
        "label": "Domestic [Member]"
       }
      }
     },
     "localname": "DomesticMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_EECAndBluePillarMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to EEC and Blue Pillar",
        "label": "EEC and Blue Pillar [Member]"
       }
      }
     },
     "localname": "EECAndBluePillarMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_EcobeeIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents ecobee Inc..",
        "label": "ecobee Inc. [Member]"
       }
      }
     },
     "localname": "EcobeeIncMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details": {
       "order": 4.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to foreign deferred tax rate change.",
        "label": "Foreign deferred tax rate change"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationForeignDeferredTaxRateChangePercent",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details"
     ],
     "xbrltype": "percentItemType"
    },
    "gnrc_EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details": {
       "order": 5.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit)",
        "label": "State tax rate differential"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationStateIncomeTaxRateDifferentialPercent",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details"
     ],
     "xbrltype": "percentItemType"
    },
    "gnrc_EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details": {
       "order": 1.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state tax credit.",
        "label": "State credits"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCreditStatePercent",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details"
     ],
     "xbrltype": "percentItemType"
    },
    "gnrc_EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details": {
       "order": 6.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign income tax deduction.",
        "label": "Foreign tax deduction"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxDeductionForeignPercent",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details"
     ],
     "xbrltype": "percentItemType"
    },
    "gnrc_EmployerContributionUnderMedicalAndDentalPlan": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contribution made under medical and dental plan made by the employer.",
        "label": "gnrc_EmployerContributionUnderMedicalAndDentalPlan",
        "terseLabel": "Employer Contribution under Medical and Dental Plan"
       }
      }
     },
     "localname": "EmployerContributionUnderMedicalAndDentalPlan",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-16-benefit-plans-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_EquityIncentivePlanPlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the equity incentive plan (Plan).",
        "label": "Equity Incentive Plan (Plan) [Member]"
       }
      }
     },
     "localname": "EquityIncentivePlanPlanMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_ExcessPurchasePriceOverPredecessorBasis": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The element that represents the excess purchase price over predecessor basis.",
        "label": "gnrc_ExcessPurchasePriceOverPredecessorBasis",
        "negatedLabel": "Excess purchase price over predecessor basis"
       }
      }
     },
     "localname": "ExcessPurchasePriceOverPredecessorBasis",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_ExcessPurchasePriceOverPredecessorBasisMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The excess purchase price over predecessor basis.",
        "label": "Excess Purchase Price over Predecessor Basis [Member]"
       }
      }
     },
     "localname": "ExcessPurchasePriceOverPredecessorBasisMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_ExcessTaxBenefitsFromEquityAwards": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The value of excess tax benefits from equity awards.",
        "label": "gnrc_ExcessTaxBenefitsFromEquityAwards",
        "negatedTerseLabel": "Excess tax benefits from equity awards"
       }
      }
     },
     "localname": "ExcessTaxBenefitsFromEquityAwards",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_ExtendedWarrantyTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expiration period of the extended warranty.",
        "label": "gnrc_ExtendedWarrantyTerm",
        "terseLabel": "Extended Warranty Term (Year)"
       }
      }
     },
     "localname": "ExtendedWarrantyTerm",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "gnrc_ExternalNetSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents external net sales.",
        "label": "External Net Sales [Member]"
       }
      }
     },
     "localname": "ExternalNetSalesMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure for the accounting policy for the fair value of contingent consideration in a business combination.",
        "label": "Fair value of Contingent Consideration in a Business Combination [Policy Text Block]"
       }
      }
     },
     "localname": "FairValueOfContingentConsiderationInABusinessCombinationPolicyTextBlock",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "gnrc_FinanceLeaseAndOtherAssetsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents Finance Lease and Other Assets.",
        "label": "Finance Lease and Other Assets [Member]"
       }
      }
     },
     "localname": "FinanceLeaseAndOtherAssetsMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_FinanceLeaseAndOtherLongtermLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents Finance Lease and Other Long-term Liabilities.",
        "label": "Finance Lease and Other Long-term Liabilities [Member]"
       }
      }
     },
     "localname": "FinanceLeaseAndOtherLongtermLiabilitiesMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details": {
       "order": 0.0,
       "parentTag": "us-gaap_FinanceLeaseRightOfUseAsset",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation for finance lease right of use assets.",
        "label": "gnrc_FinanceLeaseRightOfUseAssetAccumulatedDepreciation",
        "negatedLabel": "Accumulated depreciation - finance lease ROU assets"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAssetAccumulatedDepreciation",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_FinanceLeaseRightOfUseAssetGross": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details": {
       "order": 1.0,
       "parentTag": "us-gaap_FinanceLeaseRightOfUseAsset",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross amount of lessee's right to use underlying asset under finance lease.",
        "label": "Finance lease ROU assets, gross"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAssetGross",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_FiniteLivedCustomerListsNet": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 0.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of accumulated amortization, as of the balance sheet date of an asset having a finite beneficial life acquired in a business combination or other transaction representing a favorable existing relationship with customers.",
        "label": "Customer lists, net"
       }
      }
     },
     "localname": "FiniteLivedCustomerListsNet",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_FiniteLivedPatentsAndTechnologyNet": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 8.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the carrying amount of finite-lived patents and technology as of balance sheet date.",
        "label": "Patents and technology, net"
       }
      }
     },
     "localname": "FiniteLivedPatentsAndTechnologyNet",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_InterestCoverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest coverage ratio.",
        "label": "gnrc_InterestCoverageRatio",
        "terseLabel": "Interest Coverage Ratio"
       }
      }
     },
     "localname": "InterestCoverageRatio",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "pureItemType"
    },
    "gnrc_InternationalMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information regarding international reportable segment.",
        "label": "International [Member]"
       }
      }
     },
     "localname": "InternationalMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_IntersegmentSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents intersegment sales.",
        "label": "Intersegment Sales [Member]"
       }
      }
     },
     "localname": "IntersegmentSalesMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_LIBORFloorRateMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Floor interest rate at which a bank borrows funds from other banks in the London interbank market.",
        "label": "LIBOR Floor Rate [Member]"
       }
      }
     },
     "localname": "LIBORFloorRateMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_LeaseTermAndDiscountRateTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of term and discount rate of lease.",
        "label": "Lease, Term and Discount Rate [Table Text Block]"
       }
      }
     },
     "localname": "LeaseTermAndDiscountRateTableTextBlock",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "gnrc_LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Remaining term of lessee's operating lease and finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "gnrc_LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract",
        "terseLabel": "Lessee, Operating Lease and Finance Lease, Remaining Term of Contract (Year)"
       }
      }
     },
     "localname": "LesseeOperatingLeaseAndFinanceLeaseRemainingTermOfContract",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "gnrc_LesseeOperatingLeasesAndFinanceLeasesTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for operating leases and finance leases of lessee.",
        "label": "Lessee, Operating Leases and Finance Leases [Text Block]"
       }
      }
     },
     "localname": "LesseeOperatingLeasesAndFinanceLeasesTextBlock",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-"
     ],
     "xbrltype": "textBlockItemType"
    },
    "gnrc_LineOfCreditFacilityIncrementalCapacity": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the incremental capacity under a line of credit facility.",
        "label": "gnrc_LineOfCreditFacilityIncrementalCapacity",
        "terseLabel": "Line of Credit Facility, Incremental Capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityIncrementalCapacity",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_NetIncomeLossAvailableToCommonStockholders": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Net income after adjustments for redeemable noncontrolling interest redemption value.",
        "label": "gnrc_NetIncomeLossAvailableToCommonStockholders",
        "totalLabel": "Net income attributable to common shareholders"
       }
      }
     },
     "localname": "NetIncomeLossAvailableToCommonStockholders",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_NoCustomerMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents no customer.",
        "label": "No Customer [Member]"
       }
      }
     },
     "localname": "NoCustomerMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_NoncashWritedownAndOtherAdjustments": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information about non-cash write-down and other adjustments. Includes gains/losses on disposal of assets, unrealized mark-to-market adjustments on commodity contracts, and certain foreign currency and purchase accounting related adjustments.",
        "label": "gnrc_NoncashWritedownAndOtherAdjustments",
        "negatedLabel": "Non-cash write-down and other adjustments"
       }
      }
     },
     "localname": "NoncashWritedownAndOtherAdjustments",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_NoncontrollingInterestAgreementExtensionOfTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The extension of the term in the noncontrolling interest agreement.",
        "label": "gnrc_NoncontrollingInterestAgreementExtensionOfTerm",
        "terseLabel": "Noncontrolling Interest Agreement, Extension of Term (Year)"
       }
      }
     },
     "localname": "NoncontrollingInterestAgreementExtensionOfTerm",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "gnrc_NoteToFinancialStatementDetailsTextual": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note To Financial Statement Details Textual"
       }
      }
     },
     "localname": "NoteToFinancialStatementDetailsTextual",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_NotesToFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Notes To Financial Statements [Abstract]"
       }
      }
     },
     "localname": "NotesToFinancialStatementsAbstract",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_NumberOfMajorCustomers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents number of major customers that accounts for 10 percent or more of the entity's revenues.",
        "label": "gnrc_NumberOfMajorCustomers",
        "terseLabel": "Number of Major Customers"
       }
      }
     },
     "localname": "NumberOfMajorCustomers",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "integerItemType"
    },
    "gnrc_NumberOfNewContractsEntered": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of new contracts entered into during the period mentioned.",
        "label": "gnrc_NumberOfNewContractsEntered",
        "terseLabel": "Number of New Contracts Entered"
       }
      }
     },
     "localname": "NumberOfNewContractsEntered",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual"
     ],
     "xbrltype": "integerItemType"
    },
    "gnrc_OneCustomerMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information pertaining to one major customer.",
        "label": "One Customer [Member]"
       }
      }
     },
     "localname": "OneCustomerMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of undiscounted cash flows of operating and finance lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating and finance lease liability recognized in statement of financial position.",
        "label": "Operating and Finance Lease, Liability, Maturity [Table Text Block]"
       }
      }
     },
     "localname": "OperatingAndFinanceLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "gnrc_OperatingLeaseAndOtherAssetsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to operating lease and other assets.",
        "label": "Operating Lease and Other Assets [Member]"
       }
      }
     },
     "localname": "OperatingLeaseAndOtherAssetsMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_OperatingLeaseAndOtherLongtermLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to operating lease and other long-term liabilities.",
        "label": "Operating Lease and Other Long-term Liabilities [Member]"
       }
      }
     },
     "localname": "OperatingLeaseAndOtherLongtermLiabilitiesMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 2.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, and other liabilities classified as noncurrent.",
        "label": "Operating lease and other long-term liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrentAndOtherLongTermLiabilities",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "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 and other assets after one year or beyond the normal operating cycle, if longer.",
        "label": "Operating lease and other assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAssetAndOtherAssestNoncurrent",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_Other": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents other non-cash items that are not categorized separately.",
        "label": "gnrc_Other",
        "negatedTerseLabel": "Other"
       }
      }
     },
     "localname": "Other",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_Other2020AcquisitionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents other 2020 acquisitions.",
        "label": "Other 2020 Acquisitions [Member]"
       }
      }
     },
     "localname": "Other2020AcquisitionsMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_Other2021AcquisitionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents other acquisitions in 2021.",
        "label": "Other 2021 Acquisitions [Member]"
       }
      }
     },
     "localname": "Other2021AcquisitionsMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents Other Accrued Liabilities and Finance Lease and Other Long-term Liabilities.",
        "label": "Other Accrued Liabilities and Finance Lease and Other Long-term Liabilities [Member]"
       }
      }
     },
     "localname": "OtherAccruedLiabilitiesAndFinanceLeaseAndOtherLongtermLiabilitiesMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other accrued liabilities and operating lease and other long-term liabilities.",
        "label": "Other Accrued Liabilities and Operating Lease and Other Long-term Liabilities [Member]"
       }
      }
     },
     "localname": "OtherAccruedLiabilitiesAndOperatingLeaseAndOtherLongtermLiabilitiesMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_OtherAccruedLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to other accrued liabilities.",
        "label": "Other Accrued Liabilities [Member]"
       }
      }
     },
     "localname": "OtherAccruedLiabilitiesMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_OtherLongtermLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents other long-term liabilities.",
        "label": "Other Long-term Liabilities [Member]"
       }
      }
     },
     "localname": "OtherLongtermLiabilitiesMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_OtherProductsAndServicesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to products and services not separately disclosed.",
        "label": "Other Products and Services [Member]"
       }
      }
     },
     "localname": "OtherProductsAndServicesMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_PatentsAndTechnologyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents finite-lived intangible assets classified as patents and technology.",
        "label": "Patents and Technology [Member]"
       }
      }
     },
     "localname": "PatentsAndTechnologyMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_PaymentsToAcquireBusinessesDeferredCashPayment": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details": {
       "order": 2.0,
       "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The deferred cash outflow associated with the acquisition of business during the period.",
        "label": "Deferred cash payment (1)"
       }
      }
     },
     "localname": "PaymentsToAcquireBusinessesDeferredCashPayment",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_PerformanceShareAwardPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of the target performance share award.",
        "label": "gnrc_PerformanceShareAwardPercentage",
        "terseLabel": "Performance Share Award, Percentage"
       }
      }
     },
     "localname": "PerformanceShareAwardPercentage",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "gnrc_PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Power Home Solar, LLC Against Generac Power Systems, Inc..",
        "label": "Power Home Solar, LLC Against Generac Power Systems, Inc. [Member]"
       }
      }
     },
     "localname": "PowerHomeSolarLlcAgainstGeneracPowerSystemsIncMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_PowerHomeSolarLlcMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Power Home Solar, LLC.",
        "label": "Power Home Solar, LLC [Member]"
       }
      }
     },
     "localname": "PowerHomeSolarLlcMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_PramacMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Pramac is a leading manufacturer of portable, commercial and industrial generators primarily sold under the Pramac brand, including PR Industrial S.r.1 and its subsidiaries.",
        "label": "Pramac [Member]"
       }
      }
     },
     "localname": "PramacMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Product warranty obligations included in consolidated balance sheet.",
        "label": "Product Warranty Obligations Included In Consolidated Balance Sheet [Table Text Block]"
       }
      }
     },
     "localname": "ProductWarrantyObligationsIncludedInConsolidatedBalanceSheetTableTextBlock",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "gnrc_ProformaAmortizationOfIntangibleAssets": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of proforma amortization of intangible assets.",
        "label": "gnrc_ProformaAmortizationOfIntangibleAssets",
        "terseLabel": "Proforma Amortization of Intangible Assets"
       }
      }
     },
     "localname": "ProformaAmortizationOfIntangibleAssets",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure for the useful life of long-lived, physical assets used in the normal conduct of business and not intended for resale.",
        "label": "Property Plant and Equipment, Estimated Useful Lives [Table Text Block]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "gnrc_ProvisionForProductCharges": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents a specific credit loss provision for a clean energy product customer that filed for bankruptcy, as well as a warranty provision to address certain clean energy product warranty-related matters",
        "label": "Provision for regulatory and clean energy product charges (6)"
       }
      }
     },
     "localname": "ProvisionForProductCharges",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_RedeemableNoncontrollingInterestMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information pertaining to redeemable noncontrolling interest.",
        "label": "Redeemable Noncontrolling Interest [Member]"
       }
      }
     },
     "localname": "RedeemableNoncontrollingInterestMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_RedeemableNoncontrollingInterestTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Entire disclosure for redeemable noncontrolling interest.",
        "label": "Redeemable Noncontrolling Interest [Text Block]"
       }
      }
     },
     "localname": "RedeemableNoncontrollingInterestTextBlock",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest"
     ],
     "xbrltype": "textBlockItemType"
    },
    "gnrc_ResidentialPowerProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents products and services related to residential power.",
        "label": "Residential Power Products [Member]"
       }
      }
     },
     "localname": "ResidentialPowerProductsMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_RestrictedStockAndPerformanceSharesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information about restricted stock and performance shares.",
        "label": "Restricted Stock and Performance Shares [Member]"
       }
      }
     },
     "localname": "RestrictedStockAndPerformanceSharesMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_SavingsPlan401kMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the companies defined-contribution 401(k) savings plan.",
        "label": "Savings Plan 401(k) [Member]"
       }
      }
     },
     "localname": "SavingsPlan401kMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-16-benefit-plans",
      "http://www.generac.com/20221231/role/statement-note-16-benefit-plans-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of components of lease assets and liabilities.",
        "label": "Schedule of Components of Lease Assets and Liabilities [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfComponentsOfLeaseAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "gnrc_ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of consideration transferred for business acquisitions.",
        "label": "Schedule of Consideration Transferred for Business Acquisitions [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfConsiderationTransferredForBusinessAcquisitionsTableTextBlock",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "gnrc_ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of derivative assets and liabilities at fair value.",
        "label": "Schedule Of Derivative Assets (Liabilities) at Fair Value [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfDerivativeAssetsLiabilitiesAtFairValueTableTextBlock",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "gnrc_ScheduleOfIntangibleAssetsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of intangible assets, by major asset class.",
        "label": "Schedule Of Intangible Assets [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfIntangibleAssetsTableTextBlock",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "gnrc_ScheduleOfLeasesCashFlowInformationTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of leases related to cash flow information.",
        "label": "Schedule of Leases Cash Flow Information [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfLeasesCashFlowInformationTableTextBlock",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "gnrc_SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in valuation and qualifying accounts and reserves from business combination.",
        "label": "Reserves Assumed in Acquisition"
       }
      }
     },
     "localname": "SecSchedule1209ValuationAllowancesAndReservesIncreaseDecreaseBusinessAcquired",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_SecuredLeverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ratio used to calculate financial leverage and the ability to meet financial obligations. If the borrower's actual secured leverage ratio is below the 3.75 threshold for the annual period, the Excess Cash Flow payment requirement for that period is eliminated.",
        "label": "gnrc_SecuredLeverageRatio",
        "terseLabel": "Secured Leverage Ratio"
       }
      }
     },
     "localname": "SecuredLeverageRatio",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "pureItemType"
    },
    "gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated amount of dividends per share to be paid to holders of the underlying shares (expected dividends) over the option's term.",
        "label": "Expected annual dividend per share (in dollars per share)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedDividendPerShare",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period of performance measurement for share-based compensation awards, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "gnrc_SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Performance Measurement, Period (Year)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPerformanceMeasurementPeriod",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "gnrc_SharesAcquiredUnderStockRepurchasesProgramShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares that have been repurchased during the period and are being held in treasury",
        "label": "gnrc_SharesAcquiredUnderStockRepurchasesProgramShares",
        "terseLabel": "Shares Acquired Under Stock Repurchases Program, Shares (in shares)"
       }
      }
     },
     "localname": "SharesAcquiredUnderStockRepurchasesProgramShares",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual"
     ],
     "xbrltype": "sharesItemType"
    },
    "gnrc_StandardProductWarrantyAccrualWarrantyProvision": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of warranty provision for standard product warranty accrual.",
        "label": "gnrc_StandardProductWarrantyAccrualWarrantyProvision",
        "terseLabel": "Standard Product Warranty Accrual, Warranty Provision"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrualWarrantyProvision",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-details-textual",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued under equity incentive plans, net of shares withheld for employee taxes.",
        "label": "Common stock issued under equity incentive plans, net of shares withheld for employee taxes and strike price (in shares)"
       }
      }
     },
     "localname": "StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesShares",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "sharesItemType"
    },
    "gnrc_StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of stock issued under equity incentive plans, net of shares withheld for employee taxes.",
        "label": "Common stock issued under equity incentive plans, net of shares withheld for employee taxes and strike price"
       }
      }
     },
     "localname": "StockIssuedEquityIncentivePlansNetOfSharesWithheldForEmployeeTaxesValue",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_TaxCreditCarryforwardStateManufacturing": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of the state manufacturing tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.",
        "label": "gnrc_TaxCreditCarryforwardStateManufacturing",
        "terseLabel": "Tax Credit Carryforward State Manufacturing"
       }
      }
     },
     "localname": "TaxCreditCarryforwardStateManufacturing",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_TermLoanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Credit facility arrangement having an initial term longer than one year or beyond the normal operating cycle, if longer.",
        "label": "Term Loan [Member]"
       }
      }
     },
     "localname": "TermLoanMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_The2019EquityIncentivePlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information related to the 2019 Equity Incentive Plan.",
        "label": "The 2019 Equity Incentive Plan [Member]"
       }
      }
     },
     "localname": "The2019EquityIncentivePlanMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_The2020AcquisitionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the business acquisitions in 2020.",
        "label": "The 2020 Acquisitions [Member]"
       }
      }
     },
     "localname": "The2020AcquisitionsMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_The2021AcquisitionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information regarding one or more acquisitions occurring in the year 2021.",
        "label": "The 2021 Acquisitions [Member]"
       }
      }
     },
     "localname": "The2021AcquisitionsMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_The2022AcquisitionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Relating to the 2022 acquisitions.",
        "label": "The 2022 Acquisitions [Member]"
       }
      }
     },
     "localname": "The2022AcquisitionsMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The threshold for secured leverage ration required for the excess cash flow payment requirement.",
        "label": "gnrc_ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement",
        "terseLabel": "Threshold for Secured Leverage Ratio Excess Cash Flow Payment Requirement"
       }
      }
     },
     "localname": "ThresholdForSecuredLeverageRatioExcessCashFlowPaymentRequirement",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "pureItemType"
    },
    "gnrc_TotalLeverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financial Condition Covenant applicable to Tranche A Term Loan Facility and Revolving Facility only.",
        "label": "gnrc_TotalLeverageRatio",
        "terseLabel": "Total Leverage Ratio"
       }
      }
     },
     "localname": "TotalLeverageRatio",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "pureItemType"
    },
    "gnrc_TradeNamesNet": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net carrying amount as of the balance sheet date of indefinite-lived and finite-lived tradenames on the statement of financial position representing the rights acquired through registration of a trade name to gain or protect exclusive use thereof.",
        "label": "Tradenames, net"
       }
      }
     },
     "localname": "TradeNamesNet",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_TrancheATermLoanFacilityAndRevolvingCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represent the Tranche A Term Loan Facility and Revolving Credit Facility.",
        "label": "Tranche A Term Loan Facility and Revolving Credit Facility [Member]"
       }
      }
     },
     "localname": "TrancheATermLoanFacilityAndRevolvingCreditFacilityMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_TrancheATermLoanFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Borrowing supported by a written promise to pay an obligation.",
        "label": "Tranche A Term Loan Facility [Member]"
       }
      }
     },
     "localname": "TrancheATermLoanFacilityMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_TrancheBTermLoanFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Borrowing supported by a written promise to pay an obligation.",
        "label": "Tranche B Term Loan Facility [Member]"
       }
      }
     },
     "localname": "TrancheBTermLoanFacilityMember",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details"
     ],
     "xbrltype": "domainItemType"
    },
    "gnrc_TransactionCostsAndCredityFaciltyFees": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents transaction costs incurred directly in connection with any investment, as defined in our credit agreement; equity issuance, debt issuance or refinancing; together with certain fees relating to our senior secured credit facilities.",
        "label": "gnrc_TransactionCostsAndCredityFaciltyFees",
        "negatedLabel": "Transaction costs and credit facility fees"
       }
      }
     },
     "localname": "TransactionCostsAndCredityFaciltyFees",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_TreasuryStockIssuedDuringPeriodContingentConsideration": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of treasury stock issued during period for contingent consideration.",
        "label": "Payment of acquisition contingent consideration (in shares)"
       }
      }
     },
     "localname": "TreasuryStockIssuedDuringPeriodContingentConsideration",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "sharesItemType"
    },
    "gnrc_TreasuryStockIssuedDuringPeriodValueContingentConsideration": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of treasury stock issued for contingent consideration during period.",
        "label": "Payment of acquisition contingent consideration"
       }
      }
     },
     "localname": "TreasuryStockIssuedDuringPeriodValueContingentConsideration",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares that have been repurchased during the period and are being held in treasury in settlement of restricted stock award.",
        "label": "gnrc_TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards",
        "negatedLabel": "Net share settlement of restricted stock awards (in shares)"
       }
      }
     },
     "localname": "TreasuryStockSharesAcquiredInSettlementOfRestrictedStockAwards",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "sharesItemType"
    },
    "gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period in settlement of restricted stock award. Recorded using the cost method.",
        "label": "gnrc_TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod",
        "negatedLabel": "Net share settlement of restricted stock awards"
       }
      }
     },
     "localname": "TreasuryStockValueAcquiredInSettlementOfRestrictedStockAwardCostMethod",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_UncommittedIncrementalTermLoanFacility": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Refers to uncommitted incremental term loan facility after amendment.",
        "label": "gnrc_UncommittedIncrementalTermLoanFacility",
        "terseLabel": "Uncommitted Incremental Term Loan Facility"
       }
      }
     },
     "localname": "UncommittedIncrementalTermLoanFacility",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_ValuationAndQualifyingAccountsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A tabular disclosure of allowance and reserve accounts including their beginning and ending balances, as well as a reconciliation by type of activity during the period. Alternatively, disclosure of the required information may be within the footnotes to the financial statements or a supplemental schedule to the financial statements.",
        "label": "Valuation and Qualifying Accounts [Table Text Block]"
       }
      }
     },
     "localname": "ValuationAndQualifyingAccountsTableTextBlock",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "gnrc_VauationAllowancesAndReservesAdjustments": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of valuation allowances and reserves adjustments to income tax deferred tax amounts.",
        "label": "gnrc_VauationAllowancesAndReservesAdjustments",
        "terseLabel": "Vauation Allowances and Reserves Adjustments"
       }
      }
     },
     "localname": "VauationAllowancesAndReservesAdjustments",
     "nsuri": "http://www.generac.com/20221231",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "gnrc_statement-statement-note-10-leases-leases-cost-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 10 - Leases - Leases Cost (Details)"
       }
      }
     },
     "localname": "statement-statement-note-10-leases-leases-cost-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-10-leases-maturities-of-lease-liabilities-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 10 - Leases - Maturities of Lease liabilities (Details)"
       }
      }
     },
     "localname": "statement-statement-note-10-leases-maturities-of-lease-liabilities-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 10 - Leases - Supplement Balance Sheet Information Related to Leases (Details)"
       }
      }
     },
     "localname": "statement-statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 10 - Leases - Supplement Cash Flow Information Related to Leases (Details)"
       }
      }
     },
     "localname": "statement-statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-10-leases-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 10 - Leases"
       }
      }
     },
     "localname": "statement-statement-note-10-leases-tables",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 10 - Leases - Weighted Average Remaining Lease Term and Discount Rate Information (Details)"
       }
      }
     },
     "localname": "statement-statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-11-product-warranty-obligations-deferred-product-obligations-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 11 - Product Warranty Obligations - Deferred Product Obligations (Details)"
       }
      }
     },
     "localname": "statement-statement-note-11-product-warranty-obligations-deferred-product-obligations-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties 2 (Details)"
       }
      }
     },
     "localname": "statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties (Details)"
       }
      }
     },
     "localname": "statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 11 - Product Warranty Obligations - Recognition of Deferred Revenue Related to Extended Warranties (Details) (Parentheticals)"
       }
      }
     },
     "localname": "statement-statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 11 - Product Warranty Obligations - Reconciliation of Product Warranty Liability (Details)"
       }
      }
     },
     "localname": "statement-statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-11-product-warranty-obligations-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 11 - Product Warranty Obligations"
       }
      }
     },
     "localname": "statement-statement-note-11-product-warranty-obligations-tables",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-12-credit-agreements-longterm-borrowings-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 12 - Credit Agreements - Long-term Borrowings (Details)"
       }
      }
     },
     "localname": "statement-statement-note-12-credit-agreements-longterm-borrowings-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 12 - Credit Agreements - Maturities of Long-term Borrowings Outstanding (Details)"
       }
      }
     },
     "localname": "statement-statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-12-credit-agreements-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 12 - Credit Agreements"
       }
      }
     },
     "localname": "statement-statement-note-12-credit-agreements-tables",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 14 - Earnings Per Share - Reconciliation of Basic and Diluted Earnings Per Share (Details)"
       }
      }
     },
     "localname": "statement-statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-14-earnings-per-share-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 14 - Earnings Per Share"
       }
      }
     },
     "localname": "statement-statement-note-14-earnings-per-share-tables",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 15 - Income Taxes - Components of Deferred Tax Assets and Liabilities (Details)"
       }
      }
     },
     "localname": "statement-statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-15-income-taxes-provision-for-income-taxes-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 15 - Income Taxes - Provision for Income Taxes (Details)"
       }
      }
     },
     "localname": "statement-statement-note-15-income-taxes-provision-for-income-taxes-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 15 - Income Taxes - Reconciliation of Statutory and Effective Tax Rates (Details)"
       }
      }
     },
     "localname": "statement-statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-15-income-taxes-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 15 - Income Taxes"
       }
      }
     },
     "localname": "statement-statement-note-15-income-taxes-tables",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-15-income-taxes-unrecognized-tax-benefits-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 15 - Income Taxes - Unrecognized Tax Benefits (Details)"
       }
      }
     },
     "localname": "statement-statement-note-15-income-taxes-unrecognized-tax-benefits-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 17 - Share Plans - Summary of Restricted Share Awards Activity (Details)"
       }
      }
     },
     "localname": "statement-statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-17-share-plans-summary-of-stock-option-activity-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 17 - Share Plans - Summary of Stock Option Activity (Details)"
       }
      }
     },
     "localname": "statement-statement-note-17-share-plans-summary-of-stock-option-activity-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-17-share-plans-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 17 - Share Plans"
       }
      }
     },
     "localname": "statement-statement-note-17-share-plans-tables",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 17 - Share Plans - Weighted-average Assumptions used in the Black-Scholes-Merton Option Pricing Model (Details)"
       }
      }
     },
     "localname": "statement-statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-19-quarterly-financial-information-unaudited-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 19 - Quarterly Financial Information (Unaudited)"
       }
      }
     },
     "localname": "statement-statement-note-19-quarterly-financial-information-unaudited-tables",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 19 - Quarterly Financial Information (Unaudited) - Unaudited Quarterly Financial Information (Details)"
       }
      }
     },
     "localname": "statement-statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 2 - Summary of Accounting Policies - Property and Equipment Estimated Useful Lives (Details)"
       }
      }
     },
     "localname": "statement-statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 2 - Summary of Accounting Policies - Reconciliation of Contingent Consideration (Details)"
       }
      }
     },
     "localname": "statement-statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 2 - Summary of Accounting Policies - Summary of Allowance for Doubtful Accounts (Details)"
       }
      }
     },
     "localname": "statement-statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-2-summary-of-accounting-policies-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 2 - Summary of Accounting Policies"
       }
      }
     },
     "localname": "statement-statement-note-2-summary-of-accounting-policies-tables",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 20 - Valuation and Qualifying Accounts - Schedule of Valuation and Qualifying Accounts (Details)"
       }
      }
     },
     "localname": "statement-statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-20-valuation-and-qualifying-accounts-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 20 - Valuation and Qualifying Accounts"
       }
      }
     },
     "localname": "statement-statement-note-20-valuation-and-qualifying-accounts-tables",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-3-acquisitions-preliminary-price-allocation-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 3 - Acquisitions - Preliminary Price Allocation (Details)"
       }
      }
     },
     "localname": "statement-statement-note-3-acquisitions-preliminary-price-allocation-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-3-acquisitions-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 3 - Acquisitions"
       }
      }
     },
     "localname": "statement-statement-note-3-acquisitions-tables",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 3 - Acquisitions - The Combined Fair Value of the Consideration Transferred for These Acquisitions (Details)"
       }
      }
     },
     "localname": "statement-statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-3-acquisitions-unaudited-pro-forma-information-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 3 - Acquisitions - Unaudited Pro Forma Information (Details)"
       }
      }
     },
     "localname": "statement-statement-note-3-acquisitions-unaudited-pro-forma-information-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 4 - Redeemable Noncontrolling Interest - Redeemable Noncontrolling Interest (Details)"
       }
      }
     },
     "localname": "statement-statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-4-redeemable-noncontrolling-interest-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 4 - Redeemable Noncontrolling Interest"
       }
      }
     },
     "localname": "statement-statement-note-4-redeemable-noncontrolling-interest-tables",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 5 - Derivative Instruments and Hedging Activities - Fair Value of Derivatives (Details)"
       }
      }
     },
     "localname": "statement-statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-5-derivative-instruments-and-hedging-activities-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 5 - Derivative Instruments and Hedging Activities"
       }
      }
     },
     "localname": "statement-statement-note-5-derivative-instruments-and-hedging-activities-tables",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 6 - Accumulated Other Comprehensive Loss - Disclosure of Changes in Accumulated Other Comprehensive Loss (Details)"
       }
      }
     },
     "localname": "statement-statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-6-accumulated-other-comprehensive-loss-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 6 - Accumulated Other Comprehensive Loss"
       }
      }
     },
     "localname": "statement-statement-note-6-accumulated-other-comprehensive-loss-tables",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-7-segment-reporting-net-sales-by-products-and-services-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 7 - Segment Reporting - Net Sales by Products and Services (Details)"
       }
      }
     },
     "localname": "statement-statement-note-7-segment-reporting-net-sales-by-products-and-services-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-7-segment-reporting-segment-information-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 7 - Segment Reporting - Segment Information (Details)"
       }
      }
     },
     "localname": "statement-statement-note-7-segment-reporting-segment-information-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-7-segment-reporting-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 7 - Segment Reporting"
       }
      }
     },
     "localname": "statement-statement-note-7-segment-reporting-tables",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-7-segment-reporting-total-sales-by-reportable-segment-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 7 - Segment Reporting - Total Sales by Reportable Segment (Details)"
       }
      }
     },
     "localname": "statement-statement-note-7-segment-reporting-total-sales-by-reportable-segment-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-8-balance-sheet-details-inventories-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 8 - Balance Sheet Details - Inventories (Details)"
       }
      }
     },
     "localname": "statement-statement-note-8-balance-sheet-details-inventories-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-8-balance-sheet-details-property-and-equipment-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 8 - Balance Sheet Details - Property and Equipment (Details)"
       }
      }
     },
     "localname": "statement-statement-note-8-balance-sheet-details-property-and-equipment-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-8-balance-sheet-details-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 8 - Balance Sheet Details"
       }
      }
     },
     "localname": "statement-statement-note-8-balance-sheet-details-tables",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 9 - Goodwill and Intangible Assets - Carrying Amount of Goodwill (Details)"
       }
      }
     },
     "localname": "statement-statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 9 - Goodwill and Intangible Assets - Summary of Intangible Assets (Details)"
       }
      }
     },
     "localname": "statement-statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-note-9-goodwill-and-intangible-assets-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 9 - Goodwill and Intangible Assets"
       }
      }
     },
     "localname": "statement-statement-note-9-goodwill-and-intangible-assets-tables",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "gnrc_statement-statement-significant-accounting-policies-policies": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Significant Accounting Policies"
       }
      }
     },
     "localname": "statement-statement-significant-accounting-policies-policies",
     "nsuri": "http://www.generac.com/20221231",
     "xbrltype": "stringItemType"
    },
    "srt_BoardOfDirectorsChairmanMember": {
     "auth_ref": [
      "r865"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Leader of board of directors.",
        "label": "Board of Directors Chairman [Member]"
       }
      }
     },
     "localname": "BoardOfDirectorsChairmanMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ConsolidationItemsAxis": {
     "auth_ref": [
      "r306",
      "r366",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r384",
      "r388",
      "r439",
      "r440",
      "r441",
      "r442",
      "r444",
      "r445",
      "r447",
      "r449",
      "r450",
      "r763",
      "r764",
      "r765",
      "r766",
      "r767",
      "r768",
      "r769",
      "r770",
      "r771",
      "r893",
      "r894",
      "r968",
      "r969"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by components, eliminations, non-segment corporate-level activity and reconciling items used in consolidating a parent entity and its subsidiaries or its operating segments.",
        "label": "Consolidation Items [Axis]"
       }
      }
     },
     "localname": "ConsolidationItemsAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ConsolidationItemsDomain": {
     "auth_ref": [
      "r306",
      "r366",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r384",
      "r388",
      "r439",
      "r440",
      "r441",
      "r442",
      "r444",
      "r445",
      "r447",
      "r449",
      "r450",
      "r763",
      "r764",
      "r765",
      "r766",
      "r767",
      "r768",
      "r769",
      "r770",
      "r771",
      "r893",
      "r894",
      "r968",
      "r969"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components, elimination, non-segment corporate-level activity and reconciling items used in consolidating a parent entity and its subsidiaries or its operating segments.",
        "label": "Consolidation Items [Domain]"
       }
      }
     },
     "localname": "ConsolidationItemsDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_CounterpartyNameAxis": {
     "auth_ref": [
      "r303",
      "r304",
      "r455",
      "r481",
      "r772",
      "r778",
      "r780"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name of counterparty. A counterparty is the other party that participates in a financial transaction. Examples include, but not limited to, the name of the financial institution.",
        "label": "Counterparty Name [Axis]"
       }
      }
     },
     "localname": "CounterpartyNameAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember": {
     "auth_ref": [
      "r835",
      "r859",
      "r860",
      "r871",
      "r926",
      "r927",
      "r928",
      "r937",
      "r938",
      "r943",
      "r944",
      "r945",
      "r953"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents amount after cumulative-effect adjustment to financial statements in period of adoption of amendment to accounting standards.",
        "label": "Cumulative Effect, Period of Adoption, Adjusted Balance [Member]"
       }
      }
     },
     "localname": "CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_CumulativeEffectPeriodOfAdoptionAxis": {
     "auth_ref": [
      "r252",
      "r318",
      "r323",
      "r329",
      "r400",
      "r611",
      "r612",
      "r613",
      "r640",
      "r641",
      "r667",
      "r668",
      "r669",
      "r670",
      "r700"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by cumulative-effect adjustment to financial statements in period of adoption of amendment to accounting standards.",
        "label": "Cumulative Effect, Period of Adoption [Axis]"
       }
      }
     },
     "localname": "CumulativeEffectPeriodOfAdoptionAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_CumulativeEffectPeriodOfAdoptionDomain": {
     "auth_ref": [
      "r252",
      "r318",
      "r323",
      "r329",
      "r400",
      "r611",
      "r612",
      "r613",
      "r640",
      "r641",
      "r667",
      "r668",
      "r669",
      "r670",
      "r700"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cumulative-effect adjustment to financial statements in period of adoption of amendment to accounting standards.",
        "label": "Cumulative Effect, Period of Adoption [Domain]"
       }
      }
     },
     "localname": "CumulativeEffectPeriodOfAdoptionDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_LitigationCaseAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of judicial proceeding, alternative dispute resolution or claim.",
        "label": "Litigation Case [Axis]"
       }
      }
     },
     "localname": "LitigationCaseAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_LitigationCaseTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Judicial proceeding, alternative dispute resolution or claim. For example, but not limited to, name of case, category of litigation, or other differentiating information.",
        "label": "Litigation Case [Domain]"
       }
      }
     },
     "localname": "LitigationCaseTypeDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r394",
      "r797",
      "r899",
      "r965"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name or description of a single external customer or a group of external customers.",
        "label": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r435",
      "r436",
      "r437",
      "r438",
      "r570",
      "r708",
      "r728",
      "r750",
      "r751",
      "r794",
      "r808",
      "r823",
      "r895",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Upper limit of the provided range.",
        "label": "Maximum [Member]"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-details-textual",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r435",
      "r436",
      "r437",
      "r438",
      "r570",
      "r708",
      "r728",
      "r750",
      "r751",
      "r794",
      "r808",
      "r823",
      "r895",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lower limit of the provided range.",
        "label": "Minimum [Member]"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-details-textual",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r394",
      "r797",
      "r899",
      "r965"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Single external customer or group of external customers.",
        "label": "Customer [Domain]"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_OwnershipAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name of entity in which ownership interest is disclosed. Excludes equity method investee and named security investment.",
        "label": "Ownership [Axis]"
       }
      }
     },
     "localname": "OwnershipAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_OwnershipDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of entity in which ownership interest is disclosed. Excludes equity method investee and named security investment.",
        "label": "Ownership [Domain]"
       }
      }
     },
     "localname": "OwnershipDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProFormaMember": {
     "auth_ref": [
      "r329",
      "r833",
      "r834"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information reported based on historical fact adjusted for potential activity. Includes, but is not limited to, information expected to be reported in future period for effect on historical fact. Excludes forecast information.",
        "label": "Pro Forma [Member]"
       }
      }
     },
     "localname": "ProFormaMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-unaudited-pro-forma-information-details"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r390",
      "r710",
      "r795",
      "r821",
      "r890",
      "r891",
      "r899",
      "r964"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by product and service, or group of similar products and similar services.",
        "label": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r390",
      "r710",
      "r795",
      "r821",
      "r890",
      "r891",
      "r899",
      "r964"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Product or service, or a group of similar products or similar services.",
        "label": "Product and Service [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r435",
      "r436",
      "r437",
      "r438",
      "r522",
      "r570",
      "r602",
      "r603",
      "r604",
      "r707",
      "r708",
      "r728",
      "r750",
      "r751",
      "r794",
      "r808",
      "r823",
      "r886",
      "r895",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median.",
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-details-textual",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r435",
      "r436",
      "r437",
      "r438",
      "r522",
      "r570",
      "r602",
      "r603",
      "r604",
      "r707",
      "r708",
      "r728",
      "r750",
      "r751",
      "r794",
      "r808",
      "r823",
      "r886",
      "r895",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median.",
        "label": "Statistical Measurement [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-details-textual",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RepurchaseAgreementCounterpartyNameDomain": {
     "auth_ref": [
      "r303",
      "r304",
      "r455",
      "r481",
      "r779",
      "r780"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Named other party that participates in a financial transaction. Examples include, but not limited to, the name of the financial institution.",
        "label": "Counterparty Name [Domain]"
       }
      }
     },
     "localname": "RepurchaseAgreementCounterpartyNameDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioForecastMember": {
     "auth_ref": [
      "r571",
      "r861",
      "r967"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information reported for future period. Excludes information expected to be reported in future period for effect on historical fact.",
        "label": "Forecast [Member]"
       }
      }
     },
     "localname": "ScenarioForecastMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioUnspecifiedDomain": {
     "auth_ref": [
      "r329",
      "r571",
      "r833",
      "r861"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Scenario reported, distinguishing information from actual fact. Includes, but is not limited to, pro forma and forecast. Excludes actual facts.",
        "label": "Scenario [Domain]"
       }
      }
     },
     "localname": "ScenarioUnspecifiedDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-unaudited-pro-forma-information-details"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock": {
     "auth_ref": [
      "r314",
      "r762"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]"
       }
      }
     },
     "localname": "ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts"
     ],
     "xbrltype": "textBlockItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r391",
      "r392",
      "r741",
      "r742",
      "r743",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r752",
      "r754",
      "r755",
      "r756",
      "r757",
      "r758",
      "r759",
      "r760",
      "r761",
      "r796",
      "r822",
      "r899"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Geographical area.",
        "label": "Geographical [Domain]"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r391",
      "r392",
      "r736",
      "r741",
      "r742",
      "r743",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r752",
      "r753",
      "r796",
      "r822",
      "r899"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by geographical components.",
        "label": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_StatementScenarioAxis": {
     "auth_ref": [
      "r329",
      "r571",
      "r833",
      "r834",
      "r861"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by scenario reported, distinguishing information from actual fact. Includes, but is not limited to, pro forma and forecast. Excludes actual facts.",
        "label": "Scenario [Axis]"
       }
      }
     },
     "localname": "StatementScenarioAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-unaudited-pro-forma-information-details"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualAxis": {
     "auth_ref": [
      "r865",
      "r954"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by title of individual or nature of relationship to individual or group of individuals.",
        "label": "Title of Individual [Axis]"
       }
      }
     },
     "localname": "TitleOfIndividualAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of individual, or nature of relationship to individual or group of individuals.",
        "label": "Title of Individual [Domain]"
       }
      }
     },
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r18",
      "r820"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 4.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"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "auth_ref": [
      "r872"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable.",
        "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]"
       }
      }
     },
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccountsReceivableGross": {
     "auth_ref": [
      "r266",
      "r396"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business.",
        "label": "us-gaap_AccountsReceivableGross",
        "terseLabel": "Accounts Receivable, before Allowance for Credit Loss"
       }
      }
     },
     "localname": "AccountsReceivableGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableMember": {
     "auth_ref": [
      "r737"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold.",
        "label": "Accounts Receivable [Member]"
       }
      }
     },
     "localname": "AccountsReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r396",
      "r397"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "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, less allowance for credit losses of $27,664 and $12,025 at December 31, 2022 and 2021, respectively"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r104",
      "r261"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details": {
       "order": 0.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
        "negatedTerseLabel": "Accumulated depreciation"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember": {
     "auth_ref": [
      "r275",
      "r283",
      "r284",
      "r662",
      "r781",
      "r839"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated other comprehensive income (loss) from gain (loss) of derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness, attributable to parent.",
        "label": "Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member]"
       }
      }
     },
     "localname": "AccumulatedGainLossNetCashFlowHedgeParentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-details-textual",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r35",
      "r37",
      "r38",
      "r267",
      "r721",
      "r733",
      "r734"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 0.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated other comprehensive loss"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r34",
      "r38",
      "r195",
      "r701",
      "r729",
      "r730",
      "r839",
      "r840",
      "r841",
      "r856",
      "r857",
      "r858"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.",
        "label": "AOCI Attributable to Parent [Member]"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity-parentheticals",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccumulatedTranslationAdjustmentMember": {
     "auth_ref": [
      "r33",
      "r38",
      "r195",
      "r283",
      "r284",
      "r676",
      "r677",
      "r678",
      "r679",
      "r681",
      "r839"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated other comprehensive income (loss) resulting from foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to the parent.",
        "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]"
       }
      }
     },
     "localname": "AccumulatedTranslationAdjustmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapital": {
     "auth_ref": [
      "r10",
      "r820"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 5.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"
       }
      }
     },
     "localname": "AdditionalPaidInCapital",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r611",
      "r612",
      "r613",
      "r856",
      "r857",
      "r858",
      "r944"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid-in Capital [Member]"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r155",
      "r156",
      "r574"
     ],
     "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": "Share-based compensation"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income to net cash provided by operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdvertisingCostsPolicyTextBlock": {
     "auth_ref": [
      "r616"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for advertising cost.",
        "label": "Advertising Cost [Policy Text Block]"
       }
      }
     },
     "localname": "AdvertisingCostsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AdvertisingExpense": {
     "auth_ref": [
      "r617"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.",
        "label": "us-gaap_AdvertisingExpense",
        "terseLabel": "Advertising Expense"
       }
      }
     },
     "localname": "AdvertisingExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r606"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "us-gaap_AllocatedShareBasedCompensationExpense",
        "terseLabel": "Share-Based Payment Arrangement, Expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForCreditLossMember": {
     "auth_ref": [
      "r850",
      "r851",
      "r852",
      "r853",
      "r854"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Allowance for credit loss from right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.",
        "label": "SEC Schedule, 12-09, Allowance, Credit Loss [Member]"
       }
      }
     },
     "localname": "AllowanceForCreditLossMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "auth_ref": [
      "r268",
      "r398",
      "r401",
      "r402",
      "r405"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable.",
        "label": "us-gaap_AllowanceForDoubtfulAccountsReceivable",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "terseLabel": "Accounts Receivable, Allowance for Credit Loss, Ending Balance"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r268",
      "r398",
      "r401"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Accounts receivable, allowance for doubtful accounts"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets-parentheticals"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": {
     "auth_ref": [
      "r404"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance.",
        "label": "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs",
        "negatedLabel": "Charge-offs"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfFinancingCostsAndDiscounts": {
     "auth_ref": [
      "r474",
      "r684",
      "r792",
      "r793",
      "r845"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense attributable to debt discount (premium) and debt issuance costs.",
        "label": "Amortization of original issue discount and deferred financing costs"
       }
      }
     },
     "localname": "AmortizationOfFinancingCostsAndDiscounts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r66",
      "r92",
      "r97"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 4.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Amortization of intangibles",
        "terseLabel": "Amortization of Intangible Assets",
        "verboseLabel": "Amortization of intangible assets"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r348"
     ],
     "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": "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
        "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount (in shares)"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-details-textual"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "auth_ref": [
      "r73"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of antidilutive security.",
        "label": "Antidilutive Securities [Axis]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "auth_ref": [
      "r73"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.",
        "label": "Antidilutive Securities, Name [Domain]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r226",
      "r241",
      "r264",
      "r300",
      "r374",
      "r380",
      "r386",
      "r399",
      "r439",
      "r440",
      "r442",
      "r443",
      "r444",
      "r446",
      "r448",
      "r450",
      "r451",
      "r658",
      "r663",
      "r674",
      "r820",
      "r893",
      "r894",
      "r955"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r256",
      "r271",
      "r300",
      "r399",
      "r439",
      "r440",
      "r442",
      "r443",
      "r444",
      "r446",
      "r448",
      "r450",
      "r451",
      "r658",
      "r663",
      "r674",
      "r820",
      "r893",
      "r894",
      "r955"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "us-gaap_AssetsCurrent",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r577",
      "r578",
      "r579",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location on balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Axis]"
       }
      }
     },
     "localname": "BalanceSheetLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "auth_ref": [
      "r205",
      "r208"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Domain]"
       }
      }
     },
     "localname": "BalanceSheetLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BaseRateMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum rate investor will accept.",
        "label": "Base Rate [Member]"
       }
      }
     },
     "localname": "BaseRateMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BuildingAndBuildingImprovementsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing.",
        "label": "Building and Building Improvements [Member]"
       }
      }
     },
     "localname": "BuildingAndBuildingImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "auth_ref": [
      "r652",
      "r802",
      "r805"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.",
        "label": "Business Acquisition, Acquiree [Domain]"
       }
      }
     },
     "localname": "BusinessAcquisitionAcquireeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "auth_ref": [
      "r168",
      "r169",
      "r652",
      "r802",
      "r805"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business combination or series of individually immaterial business combinations.",
        "label": "Business Acquisition [Axis]"
       }
      }
     },
     "localname": "BusinessAcquisitionAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": {
     "auth_ref": [
      "r166"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination.",
        "label": "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired",
        "terseLabel": "Business Acquisition, Percentage of Voting Interests Acquired"
       }
      }
     },
     "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_BusinessAcquisitionProFormaInformationNonrecurringAdjustmentsTableTextBlock": {
     "auth_ref": [
      "r167"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the nature and amount of any material, nonrecurring adjustments directly attributable to the business combination(s) included in the reported pro forma revenue and earnings (supplemental pro forma information).",
        "label": "Business Acquisition, Pro Forma Information, Nonrecurring Adjustments [Table Text Block]"
       }
      }
     },
     "localname": "BusinessAcquisitionProFormaInformationNonrecurringAdjustmentsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessCombinationAcquisitionRelatedCosts": {
     "auth_ref": [
      "r165"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 0.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.",
        "label": "Acquisition related costs",
        "terseLabel": "Business Combination, Acquisition Related Costs"
       }
      }
     },
     "localname": "BusinessCombinationAcquisitionRelatedCosts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "auth_ref": [
      "r178",
      "r179",
      "r181"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.",
        "label": "us-gaap_BusinessCombinationConsiderationTransferred1",
        "terseLabel": "Business Combination, Consideration Transferred, Total",
        "totalLabel": "Total purchase price"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferred1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable": {
     "auth_ref": [
      "r178",
      "r179"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details": {
       "order": 1.0,
       "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.",
        "label": "Common stock issued at closing"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred": {
     "auth_ref": [
      "r176",
      "r178",
      "r179",
      "r655"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details": {
       "order": 0.0,
       "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.",
        "label": "Contingent consideration (2)"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredLiabilitiesIncurred",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiability": {
     "auth_ref": [
      "r177",
      "r180",
      "r656"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liability recognized arising from contingent consideration in a business combination.",
        "label": "us-gaap_BusinessCombinationContingentConsiderationLiability",
        "periodEndLabel": "Ending balance, December 31, 2022",
        "periodStartLabel": "Beginning balance, January 1, 2022",
        "terseLabel": "Business Combination, Contingent Consideration, Liability, Total"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "auth_ref": [
      "r182",
      "r653"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).",
        "label": "Business Combination Disclosure [Text Block]"
       }
      }
     },
     "localname": "BusinessCombinationDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets": {
     "auth_ref": [
      "r171"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details": {
       "order": 1.0,
       "parentTag": "gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill",
       "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, acquired at the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets",
        "verboseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": {
     "auth_ref": [
      "r171"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details": {
       "order": 4.0,
       "parentTag": "gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables",
        "verboseLabel": "Accounts receivable"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": {
     "auth_ref": [
      "r171"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details": {
       "order": 4.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable",
        "verboseLabel": "Accounts payable"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt": {
     "auth_ref": [
      "r171"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details": {
       "order": 0.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt",
        "verboseLabel": "Current portion of long-term borrowings and finance lease obligations"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther": {
     "auth_ref": [
      "r171"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details": {
       "order": 6.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther",
        "verboseLabel": "Other accrued liabilities"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets": {
     "auth_ref": [
      "r171"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details": {
       "order": 5.0,
       "parentTag": "gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax asset attributable to deductible temporary differences and carryforwards acquired at the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets",
        "verboseLabel": "Deferred income taxes"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": {
     "auth_ref": [
      "r171"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details": {
       "order": 5.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities",
        "verboseLabel": "Deferred income taxes liability"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": {
     "auth_ref": [
      "r171"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details": {
       "order": 3.0,
       "parentTag": "gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of intangible assets, excluding goodwill, acquired at the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill",
        "verboseLabel": "Intangible assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory": {
     "auth_ref": [
      "r170",
      "r171"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details": {
       "order": 7.0,
       "parentTag": "gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of inventory recognized as of the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory",
        "verboseLabel": "Inventories"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt": {
     "auth_ref": [
      "r171"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details": {
       "order": 8.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt due after one year or the normal operating cycle, if longer, assumed at the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt",
        "verboseLabel": "Long-term debt"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther": {
     "auth_ref": [
      "r171"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details": {
       "order": 2.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther",
        "verboseLabel": "Other long-term liabilities"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": {
     "auth_ref": [
      "r171"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details": {
       "order": 2.0,
       "parentTag": "gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets",
        "verboseLabel": "Other assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": {
     "auth_ref": [
      "r170",
      "r171"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details": {
       "order": 6.0,
       "parentTag": "gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment",
        "verboseLabel": "Property and equipment"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": {
     "auth_ref": [
      "r171"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.",
        "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
        "totalLabel": "Net assets acquired"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of voting equity interests acquired in a business combination achieved in stages, including equity interests in the acquiree held by the acquirer immediately before the acquisition date and acquired at the acquisition date.",
        "label": "us-gaap_BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage",
        "terseLabel": "Business Combination, Step Acquisition, Equity Interest in Acquiree, including Subsequent Acquisition, Percentage, Total"
       }
      }
     },
     "localname": "BusinessCombinationStepAcquisitionEquityInterestInAcquireeIncludingSubsequentAcquisitionPercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock": {
     "auth_ref": [
      "r0",
      "r72",
      "r82"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).",
        "label": "Business Description and Basis of Presentation [Text Block]"
       }
      }
     },
     "localname": "BusinessDescriptionAndBasisOfPresentationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-1-description-of-business"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CapitalizedContractCostAmortization": {
     "auth_ref": [
      "r410"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer.",
        "label": "us-gaap_CapitalizedContractCostAmortization",
        "terseLabel": "Capitalized Contract Cost, Amortization"
       }
      }
     },
     "localname": "CapitalizedContractCostAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedContractCostNet": {
     "auth_ref": [
      "r409"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.",
        "label": "us-gaap_CapitalizedContractCostNet",
        "terseLabel": "Capitalized Contract Cost, Net, Total"
       }
      }
     },
     "localname": "CapitalizedContractCostNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r68",
      "r259",
      "r773"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "auth_ref": [
      "r69"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.",
        "label": "Cash and Cash Equivalents, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "auth_ref": [
      "r63",
      "r68",
      "r71"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
        "periodEndLabel": "Cash and cash equivalents at end of period",
        "periodStartLabel": "Cash and cash equivalents at beginning of period"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r63",
      "r220"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
        "totalLabel": "Net (decrease) increase in cash and cash equivalents"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CollectibilityOfReceivablesMember": {
     "auth_ref": [
      "r888"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The assets of an enterprise may include receivables that arose from credit sales, loans, or other transactions. The conditions under which receivables exist usually involve some degree of uncertainty about their collectability, in which case a contingency exist.",
        "label": "Collectibility of Receivables [Member]"
       }
      }
     },
     "localname": "CollectibilityOfReceivablesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r107",
      "r432",
      "r433",
      "r738",
      "r892"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommodityContractMember": {
     "auth_ref": [
      "r798",
      "r818"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Derivative instrument whose primary underlying risk is tied to commodity prices.",
        "label": "Commodity Contract [Member]"
       }
      }
     },
     "localname": "CommodityContractMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r856",
      "r857",
      "r944"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r9"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets-parentheticals"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r9"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common stock, shares authorized (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets-parentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r9"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common stock, shares issued (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets-parentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r9",
      "r820"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "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, par value $0.01, 500,000,000 shares authorized, 72,701,257 and 72,386,017 shares issued at December 31, 2022 and 2021, respectively"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r39",
      "r278",
      "r280",
      "r289",
      "r717",
      "r725"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "us-gaap_ComprehensiveIncomeNetOfTax",
        "totalLabel": "Comprehensive income attributable to Generac Holdings Inc."
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r186",
      "r187",
      "r198",
      "r278",
      "r280",
      "r288",
      "r716",
      "r724"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 0.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income (loss) and other comprehensive income (loss), attributable to noncontrolling interests. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive income (loss) attributable to noncontrolling interests"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r185",
      "r198",
      "r278",
      "r280",
      "r287",
      "r715",
      "r723"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "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. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
        "totalLabel": "Total comprehensive income"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNoteTextBlock": {
     "auth_ref": [
      "r51",
      "r286",
      "r714",
      "r722"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income.",
        "label": "Comprehensive Income (Loss) Note [Text Block]"
       }
      }
     },
     "localname": "ComprehensiveIncomeNoteTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ComputerSoftwareIntangibleAssetMember": {
     "auth_ref": [
      "r813",
      "r884",
      "r885"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks.",
        "label": "Computer Software, Intangible Asset [Member]"
       }
      }
     },
     "localname": "ComputerSoftwareIntangibleAssetMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r77",
      "r78",
      "r218",
      "r219",
      "r394",
      "r737"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.",
        "label": "Concentration Risk Benchmark [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskBenchmarkDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r77",
      "r78",
      "r218",
      "r219",
      "r394",
      "r735",
      "r737"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by benchmark of concentration risk.",
        "label": "Concentration Risk Benchmark [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r77",
      "r78",
      "r218",
      "r219",
      "r394",
      "r737",
      "r966"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.",
        "label": "Concentration Risk Type [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "auth_ref": [
      "r238",
      "r359"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit risk.",
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "ConcentrationRiskCreditRisk",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r77",
      "r78",
      "r218",
      "r219",
      "r394"
     ],
     "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": "us-gaap_ConcentrationRiskPercentage1",
        "terseLabel": "Concentration Risk, Percentage"
       }
      }
     },
     "localname": "ConcentrationRiskPercentage1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r77",
      "r78",
      "r218",
      "r219",
      "r394",
      "r737"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.",
        "label": "Concentration Risk Type [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "auth_ref": [
      "r190",
      "r782"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.",
        "label": "Consolidation, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "ConsolidationPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConstructionInProgressMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.",
        "label": "Construction in Progress [Member]"
       }
      }
     },
     "localname": "ConstructionInProgressMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ContractWithCustomerLiability": {
     "auth_ref": [
      "r483",
      "r484",
      "r497"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "us-gaap_ContractWithCustomerLiability",
        "terseLabel": "Contract with Customer, Liability, Total"
       }
      }
     },
     "localname": "ContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r498"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.",
        "label": "us-gaap_ContractWithCustomerLiabilityRevenueRecognized",
        "terseLabel": "Contract with Customer, Liability, Revenue Recognized"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r46",
      "r710"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 0.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Costs of goods sold"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing cost of sales.",
        "label": "Cost of Sales [Member]"
       }
      }
     },
     "localname": "CostOfSalesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CreditFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Axis]"
       }
      }
     },
     "localname": "CreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Domain]"
       }
      }
     },
     "localname": "CreditFacilityDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "auth_ref": [
      "r848",
      "r935",
      "r939"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details": {
       "order": 2.0,
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction.",
        "label": "us-gaap_CurrentFederalTaxExpenseBenefit",
        "terseLabel": "Federal"
       }
      }
     },
     "localname": "CurrentFederalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentForeignTaxExpenseBenefit": {
     "auth_ref": [
      "r848",
      "r935"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details": {
       "order": 0.0,
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "us-gaap_CurrentForeignTaxExpenseBenefit",
        "terseLabel": "Foreign"
       }
      }
     },
     "localname": "CurrentForeignTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r164",
      "r637",
      "r645",
      "r848"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details": {
       "order": 0.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.",
        "label": "us-gaap_CurrentIncomeTaxExpenseBenefit",
        "totalLabel": "Current Income Tax Expense (Benefit), Total"
       }
      }
     },
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current:"
       }
      }
     },
     "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "auth_ref": [
      "r848",
      "r935",
      "r939"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details": {
       "order": 1.0,
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.",
        "label": "us-gaap_CurrentStateAndLocalTaxExpenseBenefit",
        "terseLabel": "State"
       }
      }
     },
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "auth_ref": [
      "r75",
      "r394"
     ],
     "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]"
       }
      }
     },
     "localname": "CustomerConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CustomerListsMember": {
     "auth_ref": [
      "r175"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information about customers such as their name and contact information; it may also be an extensive database that includes other information about the customers such as their order history and demographic information.",
        "label": "Customer Lists [Member]"
       }
      }
     },
     "localname": "CustomerListsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtAndCapitalLeaseObligations": {
     "auth_ref": [
      "r232",
      "r248"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of short-term and long-term debt and lease obligation.",
        "label": "us-gaap_DebtAndCapitalLeaseObligations",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "DebtAndCapitalLeaseObligations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "auth_ref": [
      "r126",
      "r299",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r468",
      "r475",
      "r476",
      "r477"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.",
        "label": "Debt Disclosure [Text Block]"
       }
      }
     },
     "localname": "DebtDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DebtInstrumentAxis": {
     "auth_ref": [
      "r3",
      "r4",
      "r5",
      "r227",
      "r229",
      "r240",
      "r306",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r458",
      "r464",
      "r465",
      "r466",
      "r467",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r685",
      "r789",
      "r790",
      "r791",
      "r792",
      "r793",
      "r846"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.",
        "label": "Debt Instrument [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.",
        "label": "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1",
        "terseLabel": "Debt Instrument, Basis Spread on Variable Rate"
       }
      }
     },
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentCarryingAmount": {
     "auth_ref": [
      "r5",
      "r229",
      "r240",
      "r478"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details": {
       "order": 3.0,
       "parentTag": "us-gaap_DebtAndCapitalLeaseObligations",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.",
        "label": "Term Loan"
       }
      }
     },
     "localname": "DebtInstrumentCarryingAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentFairValue": {
     "auth_ref": [
      "r466",
      "r673",
      "r790",
      "r791"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of debt instrument payable, including, but not limited to, notes payable and loans payable.",
        "label": "us-gaap_DebtInstrumentFairValue",
        "terseLabel": "Debt Instrument, Fair Value Disclosure, Total"
       }
      }
     },
     "localname": "DebtInstrumentFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentFeeAmount": {
     "auth_ref": [
      "r25"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the fee that accompanies borrowing money under the debt instrument.",
        "label": "us-gaap_DebtInstrumentFeeAmount",
        "terseLabel": "Debt Instrument, Fee Amount"
       }
      }
     },
     "localname": "DebtInstrumentFeeAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentInterestRateEffectivePercentage": {
     "auth_ref": [
      "r24",
      "r222",
      "r480",
      "r685"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.",
        "label": "us-gaap_DebtInstrumentInterestRateEffectivePercentage",
        "terseLabel": "Debt Instrument, Interest Rate, Effective Percentage"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateEffectivePercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "auth_ref": [
      "r26",
      "r306",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r458",
      "r464",
      "r465",
      "r466",
      "r467",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r685",
      "r789",
      "r790",
      "r791",
      "r792",
      "r793",
      "r846"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.",
        "label": "Debt Instrument, Name [Domain]"
       }
      }
     },
     "localname": "DebtInstrumentNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentUnamortizedDiscount": {
     "auth_ref": [
      "r221",
      "r224",
      "r896"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details": {
       "order": 2.0,
       "parentTag": "us-gaap_DebtAndCapitalLeaseObligations",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of debt discount.",
        "label": "us-gaap_DebtInstrumentUnamortizedDiscount",
        "negatedTerseLabel": "Original issue discount and deferred financing costs"
       }
      }
     },
     "localname": "DebtInstrumentUnamortizedDiscount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtPolicyTextBlock": {
     "auth_ref": [
      "r122"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy related to debt. Includes, but is not limited to, debt issuance costs, the effects of refinancings, method of amortizing debt issuance costs and original issue discount, and classifications of debt.",
        "label": "Debt, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "DebtPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense": {
     "auth_ref": [
      "r143",
      "r146"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The compensation expense recognized during the period pertaining to the deferred compensation arrangement.",
        "label": "us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense",
        "terseLabel": "Deferred Compensation Arrangement with Individual, Compensation Expense"
       }
      }
     },
     "localname": "DeferredCompensationArrangementWithIndividualCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued": {
     "auth_ref": [
      "r152"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued pursuant to the terms of a deferred compensation arrangement.",
        "label": "us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued",
        "terseLabel": "Deferred Compensation Arrangement with Individual, Shares Issued (in shares)"
       }
      }
     },
     "localname": "DeferredCompensationArrangementWithIndividualSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r848",
      "r936",
      "r939"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details": {
       "order": 2.0,
       "parentTag": "gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.",
        "label": "Federal"
       }
      }
     },
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredFinanceCostsNet": {
     "auth_ref": [
      "r223",
      "r896"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.",
        "label": "us-gaap_DeferredFinanceCostsNet",
        "terseLabel": "Debt Issuance Costs, Net, Total"
       }
      }
     },
     "localname": "DeferredFinanceCostsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r164",
      "r848",
      "r936"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details": {
       "order": 0.0,
       "parentTag": "gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Foreign"
       }
      }
     },
     "localname": "DeferredForeignIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "auth_ref": [
      "r621",
      "r622"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 4.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 taxes",
        "terseLabel": "Deferred Income Tax Assets, Net"
       }
      }
     },
     "localname": "DeferredIncomeTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r66",
      "r164",
      "r638",
      "r644",
      "r645",
      "r848"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "us-gaap_DeferredIncomeTaxExpenseBenefit",
        "terseLabel": "Deferred income taxes"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred:"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "auth_ref": [
      "r6",
      "r7",
      "r228",
      "r239",
      "r633"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences.",
        "label": "us-gaap_DeferredIncomeTaxLiabilities",
        "totalLabel": "Total deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r621",
      "r622"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 3.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": "us-gaap_DeferredIncomeTaxLiabilitiesNet",
        "terseLabel": "Deferred Income Tax Liabilities, Net",
        "verboseLabel": "Deferred income taxes"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r848",
      "r936",
      "r939"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details": {
       "order": 1.0,
       "parentTag": "gnrc_DeferredIncomeTaxExpenseBenefitBeforeAdjustmentOfValuationAllowance",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.",
        "label": "State"
       }
      }
     },
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsDeferredIncome": {
     "auth_ref": [
      "r162",
      "r934"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details": {
       "order": 3.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred income.",
        "label": "Deferred revenue"
       }
      }
     },
     "localname": "DeferredTaxAssetsDeferredIncome",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment": {
     "auth_ref": [
      "r162",
      "r934"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details": {
       "order": 6.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination.",
        "label": "Capitalized R&amp;D"
       }
      }
     },
     "localname": "DeferredTaxAssetsInProcessResearchAndDevelopment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsInventory": {
     "auth_ref": [
      "r162",
      "r934"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.",
        "label": "us-gaap_DeferredTaxAssetsInventory",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "DeferredTaxAssetsInventory",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "auth_ref": [
      "r933"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details": {
       "order": 0.0,
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "us-gaap_DeferredTaxAssetsNet",
        "totalLabel": "Total deferred tax assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "auth_ref": [
      "r162",
      "r934"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details": {
       "order": 0.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.",
        "label": "Operating loss and credit carryforwards"
       }
      }
     },
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "auth_ref": [
      "r162",
      "r934"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details": {
       "order": 7.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.",
        "label": "Other deferred tax assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsOther",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": {
     "auth_ref": [
      "r162",
      "r934"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.",
        "label": "Stock-based compensation"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": {
     "auth_ref": [
      "r162",
      "r934"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details": {
       "order": 4.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.",
        "label": "Accrued expenses"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": {
     "auth_ref": [
      "r162",
      "r934"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details": {
       "order": 8.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable.",
        "label": "Bad debt"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r634"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details": {
       "order": 5.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.",
        "label": "us-gaap_DeferredTaxAssetsValuationAllowance",
        "negatedLabel": "Valuation allowance"
       }
      }
     },
     "localname": "DeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilities": {
     "auth_ref": [
      "r158",
      "r933"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.",
        "label": "us-gaap_DeferredTaxLiabilities",
        "negatedTotalLabel": "Net deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts": {
     "auth_ref": [
      "r162",
      "r934"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details": {
       "order": 4.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from debt issuance costs.",
        "label": "Debt refinancing costs"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesDeferredExpenseDeferredFinancingCosts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesDerivatives": {
     "auth_ref": [
      "r162",
      "r934"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details": {
       "order": 3.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from derivatives.",
        "label": "Interest swap and derivative"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesDerivatives",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets": {
     "auth_ref": [
      "r162",
      "r934"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets including goodwill.",
        "label": "Goodwill and intangible assets"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesPrepaidExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax consequences attributable to taxable temporary differences derived from prepaid expenses.",
        "label": "Prepaid expenses"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesPrepaidExpenses",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "auth_ref": [
      "r162",
      "r934"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details": {
       "order": 0.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.",
        "label": "Depreciation"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanCostRecognized": {
     "auth_ref": [
      "r567"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost for defined contribution plan.",
        "label": "us-gaap_DefinedContributionPlanCostRecognized",
        "terseLabel": "Defined Contribution Plan, Cost"
       }
      }
     },
     "localname": "DefinedContributionPlanCostRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-16-benefit-plans-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage employer matches of the employee's percentage contribution matched.",
        "label": "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch",
        "terseLabel": "Defined Contribution Plan, Employer Matching Contribution, Percent of Match"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercentOfMatch",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-16-benefit-plans-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r66",
      "r102"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.",
        "label": "us-gaap_Depreciation",
        "terseLabel": "Depreciation, Total",
        "verboseLabel": "Depreciation"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "auth_ref": [
      "r66",
      "r369"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.",
        "label": "us-gaap_DepreciationDepletionAndAmortization",
        "negatedLabel": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationDepletionAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeContractTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset.",
        "label": "Derivative Contract [Domain]"
       }
      }
     },
     "localname": "DerivativeContractTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DerivativeFairValueOfDerivativeNet": {
     "auth_ref": [
      "r673"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of the assets less the liabilities of a derivative or group of derivatives.",
        "label": "Fair Value of Derivatives"
       }
      }
     },
     "localname": "DerivativeFairValueOfDerivativeNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeGainLossOnDerivativeNet": {
     "auth_ref": [
      "r941"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the fair value of derivatives recognized in the income statement.",
        "label": "us-gaap_DerivativeGainLossOnDerivativeNet",
        "terseLabel": "Derivative, Gain (Loss) on Derivative, Net, Total"
       }
      }
     },
     "localname": "DerivativeGainLossOnDerivativeNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeInstrumentRiskAxis": {
     "auth_ref": [
      "r206",
      "r207",
      "r209",
      "r210",
      "r780"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of derivative contract.",
        "label": "Derivative Instrument [Axis]"
       }
      }
     },
     "localname": "DerivativeInstrumentRiskAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": {
     "auth_ref": [
      "r212",
      "r666"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts.",
        "label": "Derivative Instruments and Hedging Activities Disclosure [Text Block]"
       }
      }
     },
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DerivativeNumberOfInstrumentsHeld": {
     "auth_ref": [
      "r200",
      "r202"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of derivative instruments of a particular group held by the entity.",
        "label": "us-gaap_DerivativeNumberOfInstrumentsHeld",
        "terseLabel": "Derivative, Number of Instruments Held, Total"
       }
      }
     },
     "localname": "DerivativeNumberOfInstrumentsHeld",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_DerivativesPolicyTextBlock": {
     "auth_ref": [
      "r199",
      "r201",
      "r203",
      "r204",
      "r211",
      "r305"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for its derivative instruments and hedging activities.",
        "label": "Derivatives, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "DerivativesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r899"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table Text Block]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r576",
      "r607",
      "r608",
      "r610",
      "r615",
      "r809"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "Share-Based Payment Arrangement [Text Block]"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureTextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_DisclosureTextBlockAbstract",
        "terseLabel": "Notes to Financial Statements"
       }
      }
     },
     "localname": "DisclosureTextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-1-description-of-business",
      "http://www.generac.com/20221231/role/statement-note-10-leases-",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes",
      "http://www.generac.com/20221231/role/statement-note-16-benefit-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies",
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts",
      "http://www.generac.com/20221231/role/statement-note-21-subsequent-events",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r290",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r330",
      "r332",
      "r345",
      "r346",
      "r347",
      "r351",
      "r670",
      "r671",
      "r718",
      "r726",
      "r785"
     ],
     "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": "us-gaap_EarningsPerShareBasic",
        "terseLabel": "Net income attributable to Generac Holdings Inc. per common share - basic: (in dollars per share)",
        "verboseLabel": "Net income attributable to common shareholders per common share - basic: (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details",
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r290",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r332",
      "r345",
      "r346",
      "r347",
      "r351",
      "r670",
      "r671",
      "r718",
      "r726",
      "r785"
     ],
     "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": "As reported (in dollars per share)",
        "terseLabel": "Net income attributable to Generac Holdings Inc. per common share - diluted: (in dollars per share)",
        "verboseLabel": "Net income attributable to common shareholders per common share - diluted: (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details",
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-unaudited-pro-forma-information-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r348",
      "r349",
      "r350",
      "r352"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings Per Share [Text Block]"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "auth_ref": [
      "r948"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Effect of exchange rate changes on cash and cash equivalents"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r624"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
        "totalLabel": "Effective tax rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r301",
      "r624",
      "r646"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details": {
       "order": 9.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).",
        "label": "U.S. statutory rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost": {
     "auth_ref": [
      "r930",
      "r940"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details": {
       "order": 8.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for share-based payment arrangement.",
        "label": "Nondeductible U.S. compensation"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "auth_ref": [
      "r930",
      "r940"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details": {
       "order": 2.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.",
        "label": "Other"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent": {
     "auth_ref": [
      "r929",
      "r930"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details": {
       "order": 0.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.",
        "label": "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent",
        "terseLabel": "Share-based compensation"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "auth_ref": [
      "r930",
      "r940"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details": {
       "order": 7.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).",
        "label": "State taxes"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch": {
     "auth_ref": [
      "r930",
      "r940"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details": {
       "order": 3.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.",
        "label": "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch",
        "negatedLabel": "Research and development credits"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCreditsResearch",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [
      "r22"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued wages and employee benefits"
       }
      }
     },
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "auth_ref": [
      "r609"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.",
        "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
        "terseLabel": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r609"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
        "terseLabel": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "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": "Share-Based Payment Arrangement, Option [Member]"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-details-textual",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r133",
      "r252",
      "r282",
      "r283",
      "r284",
      "r315",
      "r316",
      "r317",
      "r320",
      "r326",
      "r328",
      "r356",
      "r400",
      "r482",
      "r611",
      "r612",
      "r613",
      "r640",
      "r641",
      "r669",
      "r675",
      "r676",
      "r677",
      "r678",
      "r679",
      "r681",
      "r701",
      "r729",
      "r730",
      "r731"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.",
        "label": "Equity Component [Domain]"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity-parentheticals",
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs",
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-details-textual",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ExtendedProductWarrantyAccrual": {
     "auth_ref": [
      "r116"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount as of the balance sheet date of the aggregate extended product warranty liability. Does not include the ending balance for the standard product warranty liability.",
        "label": "us-gaap_ExtendedProductWarrantyAccrual",
        "periodEndLabel": "Balance at end of period",
        "periodStartLabel": "Balance at beginning of period",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "ExtendedProductWarrantyAccrual",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ExtendedProductWarrantyAccrualCurrent": {
     "auth_ref": [
      "r22"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details": {
       "order": 1.0,
       "parentTag": "us-gaap_ExtendedProductWarrantyAccrual",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount at end of the reporting period of the aggregate extended product warranty liability that is expected to be paid within one year of the balance sheet date or normal operating cycle, if longer. Does not include the balance for the standard product warranty liability.",
        "label": "us-gaap_ExtendedProductWarrantyAccrualCurrent",
        "terseLabel": "Current portion - other accrued liabilities"
       }
      }
     },
     "localname": "ExtendedProductWarrantyAccrualCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ExtendedProductWarrantyAccrualNoncurrent": {
     "auth_ref": [
      "r27"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details": {
       "order": 0.0,
       "parentTag": "us-gaap_ExtendedProductWarrantyAccrual",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount at end of the reporting period of the aggregate extended product warranty liability that is expected to be paid after one year from the balance sheet date or normal operating cycle, if longer. Does not include the balance for the standard product warranty liability.",
        "label": "us-gaap_ExtendedProductWarrantyAccrualNoncurrent",
        "terseLabel": "Long-term portion - other long-term liabilities"
       }
      }
     },
     "localname": "ExtendedProductWarrantyAccrualNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued": {
     "auth_ref": [
      "r117"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in the extended product warranty accrual from warranties issued. Excludes standard product warranties.",
        "label": "Deferred revenue contracts issued"
       }
      }
     },
     "localname": "ExtendedProductWarrantyAccrualWarrantiesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "auth_ref": [
      "r466",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r672",
      "r704",
      "r705",
      "r706",
      "r790",
      "r791",
      "r798",
      "r799",
      "r800"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.",
        "label": "Fair Value Hierarchy and NAV [Axis]"
       }
      }
     },
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByLiabilityClassAxis": {
     "auth_ref": [
      "r214",
      "r215"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by class of liability.",
        "label": "Liability Class [Axis]"
       }
      }
     },
     "localname": "FairValueByLiabilityClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "auth_ref": [
      "r466",
      "r525",
      "r530",
      "r672",
      "r705",
      "r790",
      "r791",
      "r798",
      "r799",
      "r800"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.",
        "label": "Fair Value, Inputs, Level 2 [Member]"
       }
      }
     },
     "localname": "FairValueInputsLevel2Member",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain": {
     "auth_ref": [
      "r213"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents classes of liabilities measured and disclosed at fair value.",
        "label": "Fair Value by Liability Class [Domain]"
       }
      }
     },
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "auth_ref": [
      "r466",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r704",
      "r705",
      "r706",
      "r790",
      "r791",
      "r798",
      "r799",
      "r800"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.",
        "label": "Fair Value Hierarchy and NAV [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "auth_ref": [
      "r216",
      "r217"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments.",
        "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FinanceLeaseInterestExpense": {
     "auth_ref": [
      "r688",
      "r692",
      "r819"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details": {
       "order": 0.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest expense on finance lease liability.",
        "label": "Interest on lease liabilities"
       }
      }
     },
     "localname": "FinanceLeaseInterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseInterestPaymentOnLiability": {
     "auth_ref": [
      "r690",
      "r694"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest paid on finance lease liability.",
        "label": "Operating cash flows from finance leases"
       }
      }
     },
     "localname": "FinanceLeaseInterestPaymentOnLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiability": {
     "auth_ref": [
      "r687",
      "r699"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details": {
       "order": 0.0,
       "parentTag": "us-gaap_DebtAndCapitalLeaseObligations",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease.",
        "label": "Total finance lease liabilities",
        "terseLabel": "Present value of minimum lease payments, finance leases"
       }
      }
     },
     "localname": "FinanceLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityCurrent": {
     "auth_ref": [
      "r687"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.",
        "label": "Finance lease liabilities - current"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r687"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.",
        "label": "Finance lease liabilities - noncurrent"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r699"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease.",
        "label": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
        "terseLabel": "Total minimum lease payments, finance leases"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive": {
     "auth_ref": [
      "r699"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive",
        "terseLabel": "After 2023, finance leases"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r699"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
        "terseLabel": "2023, finance lease"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive": {
     "auth_ref": [
      "r699"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive",
        "terseLabel": "2027, finance lease"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r699"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour",
        "terseLabel": "2026, finance lease"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r699"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree",
        "terseLabel": "2025, finance lease"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r699"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo",
        "terseLabel": "2024, finance lease"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r699"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.",
        "label": "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount",
        "negatedTerseLabel": "Interest component"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeasePrincipalPayments": {
     "auth_ref": [
      "r689",
      "r694"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for principal payment on finance lease.",
        "label": "Financing cash flows from finance leases"
       }
      }
     },
     "localname": "FinanceLeasePrincipalPayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseRightOfUseAsset": {
     "auth_ref": [
      "r686"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease.",
        "label": "us-gaap_FinanceLeaseRightOfUseAsset",
        "terseLabel": "Finance Lease, Right-of-Use Asset, after Accumulated Amortization, Total",
        "totalLabel": "Finance lease ROU assets, net"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseRightOfUseAssetAmortization": {
     "auth_ref": [
      "r688",
      "r692",
      "r819"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details": {
       "order": 1.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease.",
        "label": "Amortization of ROU assets"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAssetAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r697",
      "r819"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for finance lease calculated at point in time.",
        "label": "Finance Leases"
       }
      }
     },
     "localname": "FinanceLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r696",
      "r819"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Finance Leases (Year)"
       }
      }
     },
     "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details"
     ],
     "xbrltype": "durationItemType"
    },
    "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 assets, useful life (Year)"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r263",
      "r425"
     ],
     "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": "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization",
        "negatedLabel": "Finite-lived intangible assets, accumulated amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "auth_ref": [
      "r98"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
        "terseLabel": "Finite-Lived Intangible Asset, Expected Amortization, Year One"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "auth_ref": [
      "r98"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
        "terseLabel": "Finite-Lived Intangible Asset, Expected Amortization, Year Five"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "auth_ref": [
      "r98"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
        "terseLabel": "Finite-Lived Intangible Asset, Expected Amortization, Year Four"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "auth_ref": [
      "r98"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
        "terseLabel": "Finite-Lived Intangible Asset, Expected Amortization, Year Three"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "auth_ref": [
      "r98"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
        "terseLabel": "Finite-Lived Intangible Asset, Expected Amortization, Year Two"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r423",
      "r424",
      "r425",
      "r426",
      "r711",
      "r712"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by major type or class of finite-lived intangible assets.",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r96",
      "r712"
     ],
     "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"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r93",
      "r95"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.",
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r96",
      "r711"
     ],
     "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"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "auth_ref": [
      "r682"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.",
        "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ForeignExchangeContractMember": {
     "auth_ref": [
      "r780",
      "r798",
      "r817"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Derivative instrument whose primary underlying risk is tied to foreign exchange rates.",
        "label": "Foreign Exchange Contract [Member]"
       }
      }
     },
     "localname": "ForeignExchangeContractMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GainLossOnDispositionOfAssets1": {
     "auth_ref": [
      "r845"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee.",
        "label": "us-gaap_GainLossOnDispositionOfAssets1",
        "negatedLabel": "Gain on disposal of assets"
       }
      }
     },
     "localname": "GainLossOnDispositionOfAssets1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainsLossesOnExtinguishmentOfDebt": {
     "auth_ref": [
      "r66",
      "r124",
      "r125"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 3.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.",
        "label": "Loss on extinguishment of debt",
        "negatedLabel": "Loss on extinguishment of debt",
        "terseLabel": "Gain (Loss) on Extinguishment of Debt, Total"
       }
      }
     },
     "localname": "GainsLossesOnExtinguishmentOfDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r47"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.",
        "label": "General and administrative"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeographicConcentrationRiskMember": {
     "auth_ref": [
      "r76",
      "r737"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that a specified dollar value on the balance sheet or income statement in the period from one or more specified geographic areas is to a corresponding consolidated, segment, or product line amount. Risk is the materially adverse effects of economic decline or antagonistic political actions resulting in loss of assets, sales volume, labor supply, or source of materials and supplies in a US state or a specified country, continent, or region such as EMEA (Europe, Middle East, Africa).",
        "label": "Geographic Concentration Risk [Member]"
       }
      }
     },
     "localname": "GeographicConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r262",
      "r411",
      "r713",
      "r788",
      "r820",
      "r873",
      "r880"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details": {
       "order": 0.0,
       "parentTag": "gnrc_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "terseLabel": "Goodwill, Ending Balance",
        "verboseLabel": "Goodwill"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAcquiredDuringPeriod": {
     "auth_ref": [
      "r413",
      "r788"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.",
        "label": "us-gaap_GoodwillAcquiredDuringPeriod",
        "terseLabel": "Acquisitions of businesses, net"
       }
      }
     },
     "localname": "GoodwillAcquiredDuringPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetImpairment": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total loss recognized during the period from the impairment of goodwill plus the loss recognized in the period resulting from the impairment of the carrying amount of intangible assets, other than goodwill.",
        "label": "us-gaap_GoodwillAndIntangibleAssetImpairment",
        "terseLabel": "Goodwill and Intangible Asset Impairment, Total"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetImpairment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r100"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for goodwill and intangible assets.",
        "label": "Goodwill and Intangible Assets Disclosure [Text Block]"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy": {
     "auth_ref": [
      "r421",
      "r422",
      "r788"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined.",
        "label": "Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsGoodwillPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": {
     "auth_ref": [
      "r417"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Foreign currency translation"
       }
      }
     },
     "localname": "GoodwillForeignCurrencyTranslationGainLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillGross": {
     "auth_ref": [
      "r412",
      "r419",
      "r788"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before 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, gross"
       }
      }
     },
     "localname": "GoodwillGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillImpairedAccumulatedImpairmentLoss": {
     "auth_ref": [
      "r412",
      "r419",
      "r788"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated impairment loss for an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "us-gaap_GoodwillImpairedAccumulatedImpairmentLoss",
        "negatedLabel": "Accumulated impairment"
       }
      }
     },
     "localname": "GoodwillImpairedAccumulatedImpairmentLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r44",
      "r300",
      "r374",
      "r379",
      "r385",
      "r388",
      "r399",
      "r439",
      "r440",
      "r442",
      "r443",
      "r444",
      "r446",
      "r448",
      "r450",
      "r451",
      "r674",
      "r787",
      "r893"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "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/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_HedgingDesignationAxis": {
     "auth_ref": [
      "r203",
      "r665"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by designation of purpose of derivative instrument.",
        "label": "Hedging Designation [Axis]"
       }
      }
     },
     "localname": "HedgingDesignationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_HedgingDesignationDomain": {
     "auth_ref": [
      "r203"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designation of purpose of derivative instrument.",
        "label": "Hedging Designation [Domain]"
       }
      }
     },
     "localname": "HedgingDesignationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "auth_ref": [
      "r101",
      "r106"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.",
        "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r41",
      "r225",
      "r234",
      "r250",
      "r374",
      "r379",
      "r385",
      "r388",
      "r719",
      "r787"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 1.0,
       "parentTag": "us-gaap_ProfitLoss",
       "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": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
        "terseLabel": "Income before provision for income taxes",
        "totalLabel": "Income before provision for income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r427",
      "r429"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [
      "r429"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r301",
      "r625",
      "r631",
      "r636",
      "r642",
      "r647",
      "r649",
      "r650",
      "r651"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Tax Disclosure [Text Block]"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r302",
      "r327",
      "r328",
      "r372",
      "r623",
      "r643",
      "r648",
      "r727"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 0.0,
       "parentTag": "us-gaap_ProfitLoss",
       "weight": -1.0
      },
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Provision for income taxes",
        "totalLabel": "Provision for income taxes"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "auth_ref": [
      "r281",
      "r619",
      "r620",
      "r631",
      "r632",
      "r635",
      "r639"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.",
        "label": "Income Tax, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "IncomeTaxPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r930"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.",
        "label": "Change in valuation allowance"
       }
      }
     },
     "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "auth_ref": [
      "r70"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.",
        "label": "Income taxes"
       }
      }
     },
     "localname": "IncomeTaxesPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r65"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the 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": "us-gaap_IncreaseDecreaseInAccountsPayable",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r65"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "us-gaap_IncreaseDecreaseInAccountsReceivable",
        "negatedTerseLabel": "Accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": {
     "auth_ref": [
      "r65"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 9.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": "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities",
        "terseLabel": "Accrued wages and employee benefits"
       }
      }
     },
     "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r65"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "us-gaap_IncreaseDecreaseInInventories",
        "negatedTerseLabel": "Inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net changes in operating assets and liabilities, net of acquisitions:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities": {
     "auth_ref": [
      "r65"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "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 other expenses incurred but not yet paid.",
        "label": "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities",
        "terseLabel": "Other accrued liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "auth_ref": [
      "r65"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating assets classified as other.",
        "label": "us-gaap_IncreaseDecreaseInOtherOperatingAssets",
        "negatedTerseLabel": "Other assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares": {
     "auth_ref": [
      "r334",
      "r335",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r347"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of contingently issuable shares. Contingently issuable shares are those shares that are issuable for little or no cash contingent on certain conditions being met.",
        "label": "us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares",
        "terseLabel": "Dilutive effect of contingently issued shares (in shares)"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToContingentlyIssuableShares",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "auth_ref": [
      "r333",
      "r334",
      "r336",
      "r347",
      "r575"
     ],
     "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": "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
        "terseLabel": "Dilutive effect of stock compensation awards (in shares)"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_IndefiniteLivedTradeNames": {
     "auth_ref": [
      "r99"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount (original costs adjusted for previously recognized amortization and impairment) as of the balance sheet date for the rights acquired through registration of a trade name to gain or protect exclusive use thereof for a projected indefinite period of benefit.",
        "label": "Indefinite-lived tradenames, gross"
       }
      }
     },
     "localname": "IndefiniteLivedTradeNames",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IntangibleAssetsGrossExcludingGoodwill": {
     "auth_ref": [
      "r262"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated amortization of intangible assets, excluding goodwill.",
        "label": "Total intangible assets, gross"
       }
      }
     },
     "localname": "IntangibleAssetsGrossExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "auth_ref": [
      "r91",
      "r94"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.",
        "label": "Total intangible assets, net"
       }
      }
     },
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r223",
      "r236",
      "r285",
      "r368",
      "r683"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 1.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.",
        "label": "us-gaap_InterestExpense",
        "negatedLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r293",
      "r296",
      "r297"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.",
        "label": "Interest"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestRateSwapMember": {
     "auth_ref": [
      "r816"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period.",
        "label": "Interest Rate Swap [Member]"
       }
      }
     },
     "localname": "InterestRateSwapMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IntersegmentEliminationMember": {
     "auth_ref": [
      "r366",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r384",
      "r388"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Eliminating entries used in operating segment consolidation.",
        "label": "Intersegment Eliminations [Member]"
       }
      }
     },
     "localname": "IntersegmentEliminationMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "auth_ref": [
      "r89",
      "r775"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details": {
       "order": 0.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.",
        "label": "Finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r270",
      "r774",
      "r820"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventories",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "auth_ref": [
      "r258",
      "r269",
      "r353",
      "r406",
      "r407",
      "r408",
      "r709",
      "r783"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.",
        "label": "Inventory, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "InventoryPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "auth_ref": [
      "r89",
      "r777"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.",
        "label": "Raw material"
       }
      }
     },
     "localname": "InventoryRawMaterialsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryValuationReserveMember": {
     "auth_ref": [
      "r850",
      "r851",
      "r852",
      "r853",
      "r854"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reserve to reduce inventory to lower of cost or net realizable value.",
        "label": "SEC Schedule, 12-09, Reserve, Inventory [Member]"
       }
      }
     },
     "localname": "InventoryValuationReserveMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "auth_ref": [
      "r89",
      "r776"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.",
        "label": "Work-in-process"
       }
      }
     },
     "localname": "InventoryWorkInProcessNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InvestmentIncomeNonoperating": {
     "auth_ref": [
      "r48"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 0.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate amount of income from investments (for example, dividends) not considered a component of the entity's core operations.",
        "label": "Investment income"
       }
      }
     },
     "localname": "InvestmentIncomeNonoperating",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LandAndLandImprovementsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Real estate held and assets that are an addition or improvement to real estate held.",
        "label": "Land and Land Improvements [Member]"
       }
      }
     },
     "localname": "LandAndLandImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LandImprovementsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions or improvements to real estate held.",
        "label": "Land Improvements [Member]"
       }
      }
     },
     "localname": "LandImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeaseCost": {
     "auth_ref": [
      "r698",
      "r819"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lease cost recognized by lessee for lease contract.",
        "label": "us-gaap_LeaseCost",
        "totalLabel": "Total lease cost"
       }
      }
     },
     "localname": "LeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "auth_ref": [
      "r952"
     ],
     "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]"
       }
      }
     },
     "localname": "LeaseCostTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "auth_ref": [
      "r103"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions or improvements to assets held under a lease arrangement.",
        "label": "Leasehold Improvements [Member]"
       }
      }
     },
     "localname": "LeaseholdImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r699"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
        "terseLabel": "Total minimum lease payments, operating leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "auth_ref": [
      "r699"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
        "terseLabel": "After 2023, operating leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r699"
     ],
     "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": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
        "terseLabel": "2023, operating leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "auth_ref": [
      "r699"
     ],
     "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": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
        "terseLabel": "2027, operating leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r699"
     ],
     "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": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
        "terseLabel": "2026, operating leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r699"
     ],
     "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": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
        "terseLabel": "2025, operating leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r699"
     ],
     "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": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
        "terseLabel": "2024, operating leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r699"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
        "negatedTerseLabel": "Interest component"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseRenewalTerm": {
     "auth_ref": [
      "r951"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "us-gaap_LesseeOperatingLeaseRenewalTerm",
        "terseLabel": "Lessee, Operating Lease, Renewal Term (Year)"
       }
      }
     },
     "localname": "LesseeOperatingLeaseRenewalTerm",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r21",
      "r300",
      "r399",
      "r439",
      "r440",
      "r442",
      "r443",
      "r444",
      "r446",
      "r448",
      "r450",
      "r451",
      "r659",
      "r663",
      "r664",
      "r674",
      "r786",
      "r893",
      "r955",
      "r956"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "us-gaap_Liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r14",
      "r231",
      "r246",
      "r820",
      "r847",
      "r870",
      "r947"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "us-gaap_LiabilitiesAndStockholdersEquity",
        "totalLabel": "Total liabilities and stockholders\u2019 equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r23",
      "r257",
      "r300",
      "r399",
      "r439",
      "r440",
      "r442",
      "r443",
      "r444",
      "r446",
      "r448",
      "r450",
      "r451",
      "r659",
      "r663",
      "r664",
      "r674",
      "r820",
      "r893",
      "r955",
      "r956"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "us-gaap_LiabilitiesCurrent",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCredit": {
     "auth_ref": [
      "r5",
      "r229",
      "r240"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.",
        "label": "us-gaap_LineOfCredit",
        "terseLabel": "Long-Term Line of Credit, Total"
       }
      }
     },
     "localname": "LineOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r19"
     ],
     "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": "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity",
        "terseLabel": "Line of Credit Facility, Maximum Borrowing Capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "auth_ref": [
      "r19"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).",
        "label": "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity",
        "terseLabel": "Line of Credit Facility, Remaining Borrowing Capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LondonInterbankOfferedRateLIBORMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate at which a bank borrows funds from other banks in the London interbank market.",
        "label": "London Interbank Offered Rate (LIBOR) [Member]"
       }
      }
     },
     "localname": "LondonInterbankOfferedRateLIBORMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LongTermDebt": {
     "auth_ref": [
      "r5",
      "r229",
      "r243",
      "r465",
      "r479",
      "r790",
      "r791"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.",
        "label": "us-gaap_LongTermDebt",
        "terseLabel": "Long-Term Debt, Total"
       }
      }
     },
     "localname": "LongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtAndCapitalLeaseObligations": {
     "auth_ref": [
      "r5"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 0.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt and lease obligation, classified as noncurrent.",
        "label": "Long-term borrowings and finance lease obligations",
        "terseLabel": "Total"
       }
      }
     },
     "localname": "LongTermDebtAndCapitalLeaseObligations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent": {
     "auth_ref": [
      "r22"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 0.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt and lease obligation, classified as current.",
        "label": "Current portion of long-term borrowings and finance lease obligations"
       }
      }
     },
     "localname": "LongTermDebtAndCapitalLeaseObligationsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtCurrent": {
     "auth_ref": [
      "r20"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Less: current portion of debt"
       }
      }
     },
     "localname": "LongTermDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive": {
     "auth_ref": [
      "r122",
      "r306",
      "r897"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "After 2027"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": {
     "auth_ref": [
      "r122",
      "r306",
      "r470"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "2023"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive": {
     "auth_ref": [
      "r122",
      "r306",
      "r470"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in 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": "2027"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour": {
     "auth_ref": [
      "r122",
      "r306",
      "r470"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "2026"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": {
     "auth_ref": [
      "r122",
      "r306",
      "r470"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "2025"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": {
     "auth_ref": [
      "r122",
      "r306",
      "r470"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "2024"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturityDate": {
     "auth_ref": [
      "r946"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maturity date of long-term debt, in YYYY-MM-DD format.",
        "label": "us-gaap_LongTermDebtMaturityDate",
        "terseLabel": "Long-Term Debt, Maturity Date"
       }
      }
     },
     "localname": "LongTermDebtMaturityDate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "auth_ref": [
      "r265"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.",
        "label": "Total"
       }
      }
     },
     "localname": "LongTermDebtNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermLineOfCredit": {
     "auth_ref": [
      "r26",
      "r120",
      "r121"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details": {
       "order": 1.0,
       "parentTag": "us-gaap_DebtAndCapitalLeaseObligations",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying value as of the balance sheet date of the noncurrent portion 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": "Line of credit"
       }
      }
     },
     "localname": "LongTermLineOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "auth_ref": [
      "r26"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-term debt.",
        "label": "Long-Term Debt, Type [Axis]"
       }
      }
     },
     "localname": "LongtermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "auth_ref": [
      "r26",
      "r123"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Long-Term Debt, Type [Domain]"
       }
      }
     },
     "localname": "LongtermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LossContingenciesByNatureOfContingencyAxis": {
     "auth_ref": [
      "r109",
      "r110",
      "r434",
      "r435",
      "r436",
      "r888",
      "r889"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur.",
        "label": "Loss Contingency Nature [Axis]"
       }
      }
     },
     "localname": "LossContingenciesByNatureOfContingencyAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingencyDamagesSoughtValue": {
     "auth_ref": [
      "r887",
      "r888",
      "r889"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The value (monetary amount) of the award the plaintiff seeks in the legal matter.",
        "label": "us-gaap_LossContingencyDamagesSoughtValue",
        "terseLabel": "Loss Contingency, Damages Sought, Value"
       }
      }
     },
     "localname": "LossContingencyDamagesSoughtValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LossContingencyNatureDomain": {
     "auth_ref": [
      "r109",
      "r110",
      "r434",
      "r435",
      "r436",
      "r888",
      "r889"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "An existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur. Resolution of the uncertainty may confirm the incurrence of a loss or impairment of an asset or the incurrence of a liability.",
        "label": "Loss Contingency, Nature [Domain]"
       }
      }
     },
     "localname": "LossContingencyNatureDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.",
        "label": "Machinery and Equipment [Member]"
       }
      }
     },
     "localname": "MachineryAndEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MinorityInterest": {
     "auth_ref": [
      "r31",
      "r230",
      "r245",
      "r300",
      "r399",
      "r439",
      "r442",
      "r443",
      "r444",
      "r450",
      "r451",
      "r674"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 0.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which is directly or indirectly attributable to that ownership interest in subsidiary equity which is not attributable to the parent (that is, noncontrolling interest, previously referred to as minority interest).",
        "label": "Noncontrolling interests"
       }
      }
     },
     "localname": "MinorityInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MinorityInterestChangeInRedemptionValue": {
     "auth_ref": [
      "r130",
      "r131",
      "r132",
      "r139"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details": {
       "order": 1.0,
       "parentTag": "gnrc_NetIncomeLossAvailableToCommonStockholders",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Change in noncontrolling interest during the period as a result of a change in the redemption value of redeemable noncontrolling interest.",
        "label": "Redemption value adjustment",
        "terseLabel": "Redeemable noncontrolling interest redemption value adjustment"
       }
      }
     },
     "localname": "MinorityInterestChangeInRedemptionValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MinorityInterestDecreaseFromRedemptions": {
     "auth_ref": [
      "r138",
      "r188",
      "r189"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Decrease in noncontrolling interest (for example, but not limited to, redeeming or purchasing the interests of noncontrolling shareholders, issuance of shares (interests) by the non-wholly owned subsidiary to the parent entity for other than cash, and a buyback of shares (interest) by the non-wholly owned subsidiary from the noncontrolling interests).",
        "label": "us-gaap_MinorityInterestDecreaseFromRedemptions",
        "negatedLabel": "Purchase of additional ownership interest"
       }
      }
     },
     "localname": "MinorityInterestDecreaseFromRedemptions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The equity interest of noncontrolling shareholders, partners or other equity holders in consolidated entity.",
        "label": "us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners",
        "terseLabel": "Noncontrolling Interest, Ownership Percentage by Noncontrolling Owners"
       }
      }
     },
     "localname": "MinorityInterestOwnershipPercentageByNoncontrollingOwners",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_NetAssetsGeographicAreaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of the total assets less the total liabilities of a designated geographic area ( such as a state, country, continent, or market) when it serves as a benchmark in a concentration of risk calculation.",
        "label": "Net Assets, Geographic Area [Member]"
       }
      }
     },
     "localname": "NetAssetsGeographicAreaMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r295"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
        "totalLabel": "Net cash provided by (used in) financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r295"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 0.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
        "totalLabel": "Net cash used in investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r63",
      "r64",
      "r67"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
        "totalLabel": "Net cash provided by operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r42",
      "r67",
      "r235",
      "r249",
      "r255",
      "r276",
      "r279",
      "r284",
      "r300",
      "r319",
      "r321",
      "r322",
      "r323",
      "r324",
      "r327",
      "r328",
      "r344",
      "r374",
      "r379",
      "r385",
      "r388",
      "r399",
      "r439",
      "r440",
      "r442",
      "r443",
      "r444",
      "r446",
      "r448",
      "r450",
      "r451",
      "r671",
      "r674",
      "r787",
      "r893"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details": {
       "order": 0.0,
       "parentTag": "gnrc_NetIncomeLossAvailableToCommonStockholders",
       "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": "As reported",
        "terseLabel": "Net income attributable to Generac Holdings Inc.",
        "totalLabel": "Net income attributable to Generac Holdings Inc."
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details",
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-unaudited-pro-forma-information-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r191",
      "r197",
      "r276",
      "r279",
      "r327",
      "r328",
      "r841"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 0.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest.",
        "label": "Net income attributable to noncontrolling interests"
       }
      }
     },
     "localname": "NetIncomeLossAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAttributableToNonredeemableNoncontrollingInterest": {
     "auth_ref": [
      "r45"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Portion of net income (loss) attributable to nonredeemable noncontrolling interest.",
        "label": "us-gaap_NetIncomeLossAttributableToNonredeemableNoncontrollingInterest",
        "verboseLabel": "Net income"
       }
      }
     },
     "localname": "NetIncomeLossAttributableToNonredeemableNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest": {
     "auth_ref": [
      "r129",
      "r191",
      "r192"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after income tax of income (loss) including the portion attributable to nonredeemable noncontrolling interest. Excludes the portion attributable to redeemable noncontrolling interest recognized as temporary equity.",
        "label": "Net income"
       }
      }
     },
     "localname": "NetIncomeLossIncludingPortionAttributableToNonredeemableNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NoncompeteAgreementsMember": {
     "auth_ref": [
      "r174"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.",
        "label": "Noncompete Agreements [Member]"
       }
      }
     },
     "localname": "NoncompeteAgreementsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation": {
     "auth_ref": [
      "r139",
      "r193"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of the reduction or elimination during the period of a noncontrolling interest resulting from the parent's loss of control and deconsolidation of the entity in which one or more outside parties had a noncontrolling interest.",
        "label": "us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation",
        "negatedLabel": "Change in noncontrolling interest share"
       }
      }
     },
     "localname": "NoncontrollingInterestDecreaseFromDeconsolidation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NoncontrollingInterestMember": {
     "auth_ref": [
      "r183",
      "r482",
      "r856",
      "r857",
      "r858"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents that portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent. A noncontrolling interest is sometimes called a minority interest.",
        "label": "Noncontrolling Interest [Member]"
       }
      }
     },
     "localname": "NoncontrollingInterestMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NondesignatedMember": {
     "auth_ref": [
      "r203"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Derivative instrument not designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).",
        "label": "Not Designated as Hedging Instrument [Member]"
       }
      }
     },
     "localname": "NondesignatedMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "auth_ref": [
      "r48"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).",
        "label": "us-gaap_NonoperatingIncomeExpense",
        "totalLabel": "Total other expense, net"
       }
      }
     },
     "localname": "NonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other (expense) income:"
       }
      }
     },
     "localname": "NonoperatingIncomeExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NumberOfReportableSegments": {
     "auth_ref": [
      "r864"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.",
        "label": "us-gaap_NumberOfReportableSegments",
        "terseLabel": "Number of Reportable Segments"
       }
      }
     },
     "localname": "NumberOfReportableSegments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_OfficeEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used in an office setting. Examples include, but are not limited to, computers, copiers and fax machine.",
        "label": "Office Equipment [Member]"
       }
      }
     },
     "localname": "OfficeEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 0.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.",
        "label": "us-gaap_OperatingExpenses",
        "totalLabel": "Total operating expenses"
       }
      }
     },
     "localname": "OperatingExpenses",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating expenses:"
       }
      }
     },
     "localname": "OperatingExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r374",
      "r379",
      "r385",
      "r388",
      "r787"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 0.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating income",
        "totalLabel": "Income from operations"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseCost": {
     "auth_ref": [
      "r693",
      "r819"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details": {
       "order": 2.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.",
        "label": "Operating lease cost"
       }
      }
     },
     "localname": "OperatingLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r687"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Total operating lease liabilities",
        "terseLabel": "Present value of minimum lease payments, operating leases"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r687"
     ],
     "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 liabilities - current"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r687"
     ],
     "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 liabilities - noncurrent"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r691",
      "r694"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "Operating cash flows from operating leases"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r686"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating lease ROU assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r697",
      "r819"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "Operating Leases"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r696",
      "r819"
     ],
     "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 Leases (Year)"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OperatingSegmentsMember": {
     "auth_ref": [
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r388"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.",
        "label": "Operating Segments [Member]"
       }
      }
     },
     "localname": "OperatingSegmentsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r22"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "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 classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other accrued liabilities"
       }
      }
     },
     "localname": "OtherAccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherBorrowings": {
     "auth_ref": [
      "r232"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details": {
       "order": 4.0,
       "parentTag": "us-gaap_DebtAndCapitalLeaseObligations",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount as of the balance sheet date for the aggregate of other miscellaneous borrowings owed by the reporting entity.",
        "label": "us-gaap_OtherBorrowings",
        "verboseLabel": "Other"
       }
      }
     },
     "localname": "OtherBorrowings",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": {
     "auth_ref": [
      "r185",
      "r186",
      "r194"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 1.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "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": "Foreign currency translation adjustment"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax": {
     "auth_ref": [
      "r38",
      "r283",
      "r675",
      "r677",
      "r681",
      "r839"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before tax and reclassification adjustments of other comprehensive income (loss).",
        "label": "us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax",
        "terseLabel": "Other Comprehensive Income (Loss), before Reclassifications, before Tax"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax": {
     "auth_ref": [
      "r38",
      "r40",
      "r283",
      "r675",
      "r677",
      "r681",
      "r839"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax, before reclassification adjustments of other comprehensive income (loss).",
        "label": "Other comprehensive income (loss) before reclassifications"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax": {
     "auth_ref": [
      "r36",
      "r282"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of tax expense (benefit) allocated to other comprehensive income (loss) before reclassification adjustment from accumulated other comprehensive income (loss).",
        "label": "us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax",
        "terseLabel": "Other Comprehensive Income (Loss) before Reclassifications, Tax, Total"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossBeforeReclassificationsTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax": {
     "auth_ref": [
      "r272",
      "r273"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 0.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.",
        "label": "Net unrealized gain (loss) on derivatives",
        "terseLabel": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax, Total"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax": {
     "auth_ref": [
      "r274"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after reclassification, of tax expense (benefit) for gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.",
        "label": "Unrealized gain (loss) on interest rate swaps, tax"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity-parentheticals"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "auth_ref": [
      "r32"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.",
        "label": "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
        "terseLabel": "Foreign currency translation adjustment"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r40",
      "r133",
      "r277",
      "r280",
      "r286",
      "r675",
      "r680",
      "r681",
      "r714",
      "r722",
      "r839",
      "r840"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss).",
        "label": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
        "totalLabel": "Other comprehensive income (loss)",
        "verboseLabel": "Net current-period other comprehensive income (loss)"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other comprehensive income (loss):"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherIntangibleAssetsNet": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 7.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated amortization of finite-lived and indefinite-lived intangible assets classified as other.",
        "label": "Other intangible assets, net"
       }
      }
     },
     "localname": "OtherIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment": {
     "auth_ref": [
      "r836"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross amount of inventory owned by the entity but in the hands of a customer, typically a reseller.",
        "label": "us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment",
        "terseLabel": "Other Inventory, Materials, Supplies and Merchandise under Consignment, Gross"
       }
      }
     },
     "localname": "OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r50"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 2.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other, net"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ParentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Portion of equity, or net assets, in the consolidated entity attributable, directly or indirectly, to the parent. Excludes noncontrolling interests.",
        "label": "Parent [Member]"
       }
      }
     },
     "localname": "ParentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": {
     "auth_ref": [
      "r62"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 10.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": "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities",
        "negatedLabel": "Payment of contingent acquisition consideration",
        "terseLabel": "Payment for Contingent Consideration Liability, Financing Activities"
       }
      }
     },
     "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "auth_ref": [
      "r58"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to reacquire common stock during the period.",
        "label": "us-gaap_PaymentsForRepurchaseOfCommonStock",
        "negatedLabel": "Stock repurchases",
        "terseLabel": "Payments for Repurchase of Common Stock"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows",
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest": {
     "auth_ref": [
      "r844"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow during the period for redemption of redeemable noncontrolling interests.",
        "label": "us-gaap_PaymentsForRepurchaseOfRedeemableNoncontrollingInterest",
        "negatedLabel": "Purchase of additional ownership interest",
        "terseLabel": "Payments for Repurchase of Redeemable Noncontrolling Interest"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfRedeemableNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfDebtIssuanceCosts": {
     "auth_ref": [
      "r61"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 8.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": "us-gaap_PaymentsOfDebtIssuanceCosts",
        "negatedLabel": "Payment of debt issuance costs"
       }
      }
     },
     "localname": "PaymentsOfDebtIssuanceCosts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfDividendsCommonStock": {
     "auth_ref": [
      "r58"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.",
        "label": "us-gaap_PaymentsOfDividendsCommonStock",
        "negatedLabel": "Cash dividends paid to noncontrolling interest of subsidiary"
       }
      }
     },
     "localname": "PaymentsOfDividendsCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [
      "r292"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
        "negatedLabel": "Taxes paid related to equity awards",
        "terseLabel": "Payment, Tax Withholding, Share-Based Payment Arrangement"
       }
      }
     },
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireBusinessesGross": {
     "auth_ref": [
      "r54",
      "r654"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details": {
       "order": 3.0,
       "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.",
        "label": "Cash paid at closing"
       }
      }
     },
     "localname": "PaymentsToAcquireBusinessesGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": {
     "auth_ref": [
      "r54"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "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": "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired",
        "negatedLabel": "Acquisition of businesses, net of cash acquired",
        "terseLabel": "Payments to Acquire Businesses, Net of Cash Acquired, Total"
       }
      }
     },
     "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireEquityMethodInvestments": {
     "auth_ref": [
      "r54"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the purchase of or advances to an equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.",
        "label": "us-gaap_PaymentsToAcquireEquityMethodInvestments",
        "negatedLabel": "Contribution to equity method investment"
       }
      }
     },
     "localname": "PaymentsToAcquireEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireLongtermInvestments": {
     "auth_ref": [
      "r843"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for securities or other assets acquired, which qualify for treatment as an investing activity and are to be liquidated, if necessary, beyond the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the long-term.",
        "label": "us-gaap_PaymentsToAcquireLongtermInvestments",
        "negatedLabel": "Purchase of long-term investment"
       }
      }
     },
     "localname": "PaymentsToAcquireLongtermInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r55"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 5.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": "Capital expenditures",
        "negatedLabel": "Expenditures for property and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "auth_ref": [
      "r522",
      "r524",
      "r530",
      "r547",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r565",
      "r566",
      "r567",
      "r573",
      "r800"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for retirement benefits.",
        "label": "Retirement Benefits [Text Block]"
       }
      }
     },
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-16-benefit-plans"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PerformanceSharesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement awarded for meeting performance target.",
        "label": "Performance Shares [Member]"
       }
      }
     },
     "localname": "PerformanceSharesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PlanNameAxis": {
     "auth_ref": [
      "r900",
      "r901",
      "r902",
      "r903",
      "r904",
      "r905",
      "r906",
      "r907",
      "r908",
      "r909",
      "r910",
      "r911",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by plan name for share-based payment arrangement.",
        "label": "Plan Name [Axis]"
       }
      }
     },
     "localname": "PlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PlanNameDomain": {
     "auth_ref": [
      "r900",
      "r901",
      "r902",
      "r903",
      "r904",
      "r905",
      "r906",
      "r907",
      "r908",
      "r909",
      "r910",
      "r911",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement.",
        "label": "Plan Name [Domain]"
       }
      }
     },
     "localname": "PlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PolicyTextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_PolicyTextBlockAbstract",
        "terseLabel": "Accounting Policies"
       }
      }
     },
     "localname": "PolicyTextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r837"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 0.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.",
        "label": "Prepaid expenses and other assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables": {
     "auth_ref": [
      "r52"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from collection on beneficial interest in securitization of receivables.",
        "label": "Proceeds from beneficial interest in securitization transactions"
       }
      }
     },
     "localname": "ProceedsFromCollectionOfRetainedInterestInSecuritizedReceivables",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfLongTermDebt": {
     "auth_ref": [
      "r57"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer.",
        "label": "Proceeds from long-term borrowings"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromLongTermLinesOfCredit": {
     "auth_ref": [
      "r57"
     ],
     "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": "us-gaap_ProceedsFromLongTermLinesOfCredit",
        "terseLabel": "Proceeds from Long-term Lines of Credit"
       }
      }
     },
     "localname": "ProceedsFromLongTermLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfLongtermInvestments": {
     "auth_ref": [
      "r842"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from sales of all investments, including securities and other assets, having ready marketability and intended by management to be liquidated, if necessary, beyond the current operating cycle.",
        "label": "Proceeds from sale of investment"
       }
      }
     },
     "localname": "ProceedsFromSaleOfLongtermInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "auth_ref": [
      "r53"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.",
        "label": "Proceeds from sale of property and equipment"
       }
      }
     },
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromShortTermDebt": {
     "auth_ref": [
      "r57"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from a borrowing having initial term of repayment within one year or the normal operating cycle, if longer.",
        "label": "Proceeds from short-term borrowings"
       }
      }
     },
     "localname": "ProceedsFromShortTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "auth_ref": [
      "r56",
      "r154"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.",
        "label": "Proceeds from the exercise of stock options",
        "terseLabel": "Proceeds from Stock Options Exercised"
       }
      }
     },
     "localname": "ProceedsFromStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualClassifiedCurrent": {
     "auth_ref": [
      "r22",
      "r108",
      "r111"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued product warranty"
       }
      }
     },
     "localname": "ProductWarrantyAccrualClassifiedCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyDisclosureTextBlock": {
     "auth_ref": [
      "r119"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.",
        "label": "Product Warranty Disclosure [Text Block]"
       }
      }
     },
     "localname": "ProductWarrantyDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ProfitLoss": {
     "auth_ref": [
      "r255",
      "r276",
      "r279",
      "r294",
      "r300",
      "r319",
      "r327",
      "r328",
      "r374",
      "r379",
      "r385",
      "r388",
      "r399",
      "r439",
      "r440",
      "r442",
      "r443",
      "r444",
      "r446",
      "r448",
      "r450",
      "r451",
      "r657",
      "r660",
      "r661",
      "r671",
      "r674",
      "r719",
      "r787",
      "r814",
      "r815",
      "r841",
      "r893"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.",
        "label": "us-gaap_ProfitLoss",
        "totalLabel": "Net income",
        "verboseLabel": "Net income"
       }
      }
     },
     "localname": "ProfitLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r105"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Long-Lived Tangible Asset [Axis]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r103",
      "r260"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "us-gaap_PropertyPlantAndEquipmentGross",
        "terseLabel": "Property and equipment, gross"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r105",
      "r247",
      "r720",
      "r820"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property and equipment, net",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "auth_ref": [
      "r105",
      "r739",
      "r740"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "auth_ref": [
      "r105"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table Text Block]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r103"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.",
        "label": "Long-Lived Tangible Asset [Domain]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details"
     ],
     "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 and equipment, estimated useful lives (Year)"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "auth_ref": [
      "r291",
      "r403"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.",
        "label": "Provision for credit losses (1)",
        "terseLabel": "Accounts Receivable, Credit Loss Expense (Reversal)"
       }
      }
     },
     "localname": "ProvisionForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProvisionForOtherLosses": {
     "auth_ref": [
      "r43",
      "r65",
      "r233"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense related to other loss.",
        "label": "us-gaap_ProvisionForOtherLosses",
        "terseLabel": "Provision for Other Losses"
       }
      }
     },
     "localname": "ProvisionForOtherLosses",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_QuarterlyFinancialInformationTextBlock": {
     "auth_ref": [
      "r74",
      "r355"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information.",
        "label": "Quarterly Financial Information [Text Block]"
       }
      }
     },
     "localname": "QuarterlyFinancialInformationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ReceivablesPolicyTextBlock": {
     "auth_ref": [
      "r866",
      "r867",
      "r868",
      "r869"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for receivable. Includes, but is not limited to, accounts receivable and financing receivable.",
        "label": "Receivable [Policy Text Block]"
       }
      }
     },
     "localname": "ReceivablesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax": {
     "auth_ref": [
      "r38",
      "r40",
      "r283",
      "r675",
      "r679",
      "r681",
      "r839"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of reclassification adjustments of other comprehensive income (loss).",
        "label": "us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax",
        "negatedTerseLabel": "Amounts reclassified from AOCL"
       }
      }
     },
     "localname": "ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock": {
     "auth_ref": [
      "r85",
      "r87"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of all significant reconciling items in the reconciliation of total revenues from reportable segments to the entity's consolidated revenues.",
        "label": "Reconciliation of Revenue from Segments to Consolidated [Table Text Block]"
       }
      }
     },
     "localname": "ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount": {
     "auth_ref": [
      "r127",
      "r128",
      "r130",
      "r131"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 0.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "As of the reporting date, the aggregate carrying amount of all noncontrolling interests which are redeemable by the (parent) entity (1) at a fixed or determinable price on a fixed or determinable date, (2) at the option of the holder of the noncontrolling interest, or (3) upon occurrence of an event that is not solely within the control of the (parent) entity. This item includes noncontrolling interest holder's ownership (or holders' ownership) regardless of the type of equity interest (common, preferred, other) including all potential organizational (legal) forms of the investee entity.",
        "label": "Redeemable noncontrolling interest"
       }
      }
     },
     "localname": "RedeemableNoncontrollingInterestEquityCarryingAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RedeemableNoncontrollingInterestEquityFairValue": {
     "auth_ref": [
      "r127",
      "r128",
      "r130",
      "r131"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate fair value as of the reporting date of all noncontrolling interests which are redeemable by the (parent) entity (1) at a fixed or determinable price on a fixed or determinable date, (2) at the option of the holder of the noncontrolling interest, or (3) upon occurrence of an event that is not solely within the control of the (parent) entity. This item includes noncontrolling interest holder's ownership (or holders' ownership) regardless of the type of equity interest (common, preferred, other) including all potential organizational (legal) forms of the investee entity.",
        "label": "us-gaap_RedeemableNoncontrollingInterestEquityFairValue",
        "terseLabel": "Redeemable Noncontrolling Interest, Equity, Fair Value, Total"
       }
      }
     },
     "localname": "RedeemableNoncontrollingInterestEquityFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RedeemableNoncontrollingInterestTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of redeemable noncontrolling interest (as defined) included in the statement of financial position as either a liability or temporary equity. As of the date of the statement of financial position, such redeemable noncontrolling interest is currently redeemable, as defined, for cash or other assets of the entity at (1) at a fixed or determinable price on a fixed or determinable date, (2) at the option of the holder of the noncontrolling interest, or (3) upon occurrence of an event that is not solely within the control of the entity.",
        "label": "Redeemable Noncontrolling Interest [Table Text Block]"
       }
      }
     },
     "localname": "RedeemableNoncontrollingInterestTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "auth_ref": [
      "r60"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.",
        "label": "us-gaap_RepaymentsOfLongTermDebt",
        "terseLabel": "Repayments of Long-Term Debt, Total"
       }
      }
     },
     "localname": "RepaymentsOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities": {
     "auth_ref": [
      "r59"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for debt, mandatory redeemable security, and principal payment for finance lease obligation.",
        "label": "us-gaap_RepaymentsOfLongTermDebtAndCapitalSecurities",
        "negatedLabel": "Repayments of long-term borrowings and finance lease obligations"
       }
      }
     },
     "localname": "RepaymentsOfLongTermDebtAndCapitalSecurities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfShortTermDebt": {
     "auth_ref": [
      "r60"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for a borrowing having initial term of repayment within one year or the normal operating cycle, if longer.",
        "label": "us-gaap_RepaymentsOfShortTermDebt",
        "negatedLabel": "Repayments of short-term borrowings"
       }
      }
     },
     "localname": "RepaymentsOfShortTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r157",
      "r251",
      "r963"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.",
        "label": "Research and development",
        "terseLabel": "Research and Development Expense, Total"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpensePolicy": {
     "auth_ref": [
      "r157"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.",
        "label": "Research and Development Expense, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpensePolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RestrictedStockMember": {
     "auth_ref": [
      "r73"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.",
        "label": "Restricted Stock [Member]"
       }
      }
     },
     "localname": "RestrictedStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r11",
      "r138",
      "r244",
      "r732",
      "r734",
      "r820"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r252",
      "r315",
      "r316",
      "r317",
      "r320",
      "r326",
      "r328",
      "r400",
      "r611",
      "r612",
      "r613",
      "r640",
      "r641",
      "r669",
      "r729",
      "r731"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetirementPlanTypeAxis": {
     "auth_ref": [
      "r144",
      "r145",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r548",
      "r551",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r567",
      "r568",
      "r569",
      "r572",
      "r800",
      "r801",
      "r802",
      "r803",
      "r804",
      "r805",
      "r806",
      "r807"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of retirement benefit plan. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement.",
        "label": "Retirement Plan Type [Axis]"
       }
      }
     },
     "localname": "RetirementPlanTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-16-benefit-plans",
      "http://www.generac.com/20221231/role/statement-note-16-benefit-plans-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RetirementPlanTypeDomain": {
     "auth_ref": [
      "r144",
      "r145",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r548",
      "r551",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r567",
      "r568",
      "r569",
      "r572",
      "r800",
      "r801",
      "r802",
      "r803",
      "r804",
      "r805",
      "r806",
      "r807"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of plan designed to provide participants with retirement benefits. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement.",
        "label": "Retirement Plan Type [Domain]"
       }
      }
     },
     "localname": "RetirementPlanTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-16-benefit-plans",
      "http://www.generac.com/20221231/role/statement-note-16-benefit-plans-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r365",
      "r366",
      "r378",
      "r383",
      "r384",
      "r390",
      "r391",
      "r394",
      "r495",
      "r496",
      "r710"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, 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": "Net sales",
        "verboseLabel": "Total sales"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-unaudited-pro-forma-information-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "auth_ref": [
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r499",
      "r784"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue from contract with customer.",
        "label": "Revenue from Contract with Customer [Policy Text Block]"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "auth_ref": [
      "r485"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.",
        "label": "Revenue performance obligation"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "auth_ref": [
      "r486"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Revenue performance period (Year)"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "auth_ref": [
      "r486"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock": {
     "auth_ref": [
      "r898"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of expected timing for satisfying remaining performance obligation.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-tables"
     ],
     "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]"
       }
      }
     },
     "localname": "RevolvingCreditFacilityMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability": {
     "auth_ref": [
      "r695",
      "r819"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for finance lease liability.",
        "label": "Finance leases"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "auth_ref": [
      "r695",
      "r819"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.",
        "label": "Operating leases"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SalesRevenueNetMember": {
     "auth_ref": [
      "r394",
      "r863"
     ],
     "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]"
       }
      }
     },
     "localname": "SalesRevenueNetMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": {
     "auth_ref": [
      "r38",
      "r949",
      "r950"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss).",
        "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of contingent payment arrangements including the terms that will result in payment and the accounting treatment that will be followed if such contingencies occur, including the potential impact on earnings per share if contingencies are to be settled in common stock of the entity. The description also may include the period over which amounts are expected to be paid, and changes in the amount since the previous reporting period. This also includes contingent options and commitments.",
        "label": "Schedule of Business Acquisitions by Acquisition, Contingent Consideration [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "auth_ref": [
      "r163"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.",
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDebtInstrumentsTextBlock": {
     "auth_ref": [
      "r26",
      "r134",
      "r135",
      "r136",
      "r137",
      "r221",
      "r222",
      "r224",
      "r237",
      "r790",
      "r792",
      "r849"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer.",
        "label": "Schedule of Long-Term Debt Instruments [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfDebtInstrumentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [
      "r160"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.",
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r862"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "auth_ref": [
      "r159"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.",
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "auth_ref": [
      "r788",
      "r873",
      "r874",
      "r875",
      "r876",
      "r877",
      "r878",
      "r879",
      "r880",
      "r881",
      "r882",
      "r883"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.",
        "label": "Schedule of Goodwill [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r1",
      "r15",
      "r16",
      "r17"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.",
        "label": "Schedule of Inventory, Current [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": {
     "auth_ref": [
      "r122"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt.",
        "label": "Schedule of Maturities of Long-Term Debt [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "auth_ref": [
      "r118"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.",
        "label": "Schedule of Product Warranty Liability [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock": {
     "auth_ref": [
      "r354"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.",
        "label": "Quarterly Financial Information [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfQuarterlyFinancialInformationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": {
     "auth_ref": [
      "r172"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree.",
        "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "auth_ref": [
      "r83",
      "r84",
      "r86",
      "r90"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": {
     "auth_ref": [
      "r147"
     ],
     "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]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "auth_ref": [
      "r147",
      "r148",
      "r149"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.",
        "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "auth_ref": [
      "r151"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.",
        "label": "Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": {
     "auth_ref": [
      "r812",
      "r932"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the change in unrecognized tax benefits.",
        "label": "Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember": {
     "auth_ref": [
      "r942"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fixed rate on U.S. dollar, constant-notional interest rate swap that has its variable-rate leg referenced to Secured Overnight Financing Rate (SOFR) with no additional spread over SOFR on variable-rate leg.",
        "label": "Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member]"
       }
      }
     },
     "localname": "SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentDomain": {
     "auth_ref": [
      "r362",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r388",
      "r394",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r430",
      "r431",
      "r788",
      "r964"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.",
        "label": "Segments [Domain]"
       }
      }
     },
     "localname": "SegmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r362",
      "r363",
      "r364",
      "r374",
      "r377",
      "r382",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r393",
      "r394",
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.",
        "label": "Segment Reporting Disclosure [Text Block]"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingAndMarketingExpense": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-": {
       "order": 3.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 service"
       }
      }
     },
     "localname": "SellingAndMarketingExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r65"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "us-gaap_ShareBasedCompensation",
        "negatedTerseLabel": "Non-cash share-based compensation expense",
        "terseLabel": "Share-based compensation expense"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "auth_ref": [
      "r809"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "auth_ref": [
      "r594"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
        "negatedLabel": "Forfeited (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r594"
     ],
     "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": "Forfeited (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r592"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Granted (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r592"
     ],
     "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": "Granted (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "auth_ref": [
      "r589",
      "r590"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
        "periodEndLabel": "Non-vested (in shares)",
        "periodStartLabel": "Non-vested (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r589",
      "r590"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
        "periodEndLabel": "Non-vested (in dollars per share)",
        "periodStartLabel": "Non-vested (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "auth_ref": [
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
        "negatedLabel": "Vested (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r593"
     ],
     "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": "Vested (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "auth_ref": [
      "r602"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.",
        "label": "Expected stock price volatility"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "auth_ref": [
      "r604"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.",
        "label": "Risk free interest rate"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "auth_ref": [
      "r811"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "auth_ref": [
      "r583"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.",
        "label": "Exercisable, number of options (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r583"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.",
        "label": "Exercisable, weighted average exercise price (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": {
     "auth_ref": [
      "r587"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
        "negatedLabel": "Forfeited, number of options (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "auth_ref": [
      "r585"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross number of share options (or share units) granted during the period.",
        "label": "Granted, number of options (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r595"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.",
        "label": "Weighted average grant date fair value per share (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "auth_ref": [
      "r153"
     ],
     "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": "Outstanding, aggregate intrinsic value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r581",
      "r582"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
        "periodEndLabel": "Outstanding, number of options (in shares)",
        "periodStartLabel": "Outstanding, number of options (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r581",
      "r582"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
        "periodEndLabel": "Outstanding, weighted average exercise price (in dollars per share)",
        "periodStartLabel": "Outstanding, weighted average exercise price (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r577",
      "r578",
      "r579",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Award Type [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r586"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.",
        "label": "Exercised, weighted average exercise price (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r587"
     ],
     "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": "Forfeited, weighted average exercise price (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r585"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.",
        "label": "Granted, weighted average exercise price (in dollars per share)",
        "terseLabel": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "auth_ref": [
      "r580",
      "r599",
      "r600",
      "r601",
      "r602",
      "r605",
      "r614",
      "r615"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.",
        "label": "Share-Based Payment Arrangement [Policy Text Block]"
       }
      }
     },
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": {
     "auth_ref": [
      "r810"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "auth_ref": [
      "r601"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Expected life of options (Year)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [
      "r150"
     ],
     "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": "Outstanding, weighted average remaining contractual term (Year)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details"
     ],
     "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": "us-gaap_SharesOutstanding",
        "periodEndLabel": "Balance (in shares)",
        "periodStartLabel": "Balance (in shares)"
       }
      }
     },
     "localname": "SharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "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": "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation",
        "terseLabel": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation (in shares)"
       }
      }
     },
     "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShortTermBorrowings": {
     "auth_ref": [
      "r2",
      "r227",
      "r242",
      "r820"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.",
        "label": "Short-term borrowings",
        "terseLabel": "Short-Term Debt, Total"
       }
      }
     },
     "localname": "ShortTermBorrowings",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r72",
      "r298"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.",
        "label": "Significant Accounting Policies [Text Block]"
       }
      }
     },
     "localname": "SignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StandardProductWarrantyAccrual": {
     "auth_ref": [
      "r116"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount as of the balance sheet date of the aggregate standard product warranty liability. Does not include the balance for the extended product warranty liability.",
        "label": "us-gaap_StandardProductWarrantyAccrual",
        "periodEndLabel": "Balance at end of period",
        "periodStartLabel": "Balance at beginning of period",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrual",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition": {
     "auth_ref": [
      "r115"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in the standard product warranty accrual from a business acquisition. Excludes extended product warranties.",
        "label": "Product warranty reserve assumed in acquisition"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrualAdditionsFromBusinessAcquisition",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyAccrualCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details": {
       "order": 1.0,
       "parentTag": "us-gaap_StandardProductWarrantyAccrual",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount as of the balance sheet date of the aggregate standard product warranty liability that is expected to be paid within one year or the normal operating cycle, if longer. Does not include the balance for the extended product warranty liability.",
        "label": "Current portion - accrued product warranty"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrualCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyAccrualNoncurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details": {
       "order": 0.0,
       "parentTag": "us-gaap_StandardProductWarrantyAccrual",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount as of the balance sheet date of the aggregate standard product warranty liability that is expected to be paid after one year or beyond the normal operating cycle, if longer. Does not include the balance for the extended product warranty liability.",
        "label": "Long-term portion - other long-term liabilities"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrualNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyAccrualPayments": {
     "auth_ref": [
      "r112"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in the standard product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard product warranty. Excludes extended product warranties.",
        "label": "us-gaap_StandardProductWarrantyAccrualPayments",
        "negatedTerseLabel": "Payments"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrualPayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease": {
     "auth_ref": [
      "r114"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the standard product warranty accrual from changes in estimates attributable to preexisting product warranties. Excludes extended product warranties.",
        "label": "Changes in estimates for pre-existing warranties (1)"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrualPreexistingIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyAccrualWarrantiesIssued": {
     "auth_ref": [
      "r113"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in the standard product warranty accrual from warranties issued. Excludes extended product warranties.",
        "label": "Provision for warranty issued"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrualWarrantiesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "auth_ref": [
      "r254",
      "r362",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r388",
      "r394",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r428",
      "r430",
      "r431",
      "r788",
      "r964"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business segments.",
        "label": "Segments [Axis]"
       }
      }
     },
     "localname": "StatementBusinessSegmentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r30",
      "r133",
      "r252",
      "r282",
      "r283",
      "r284",
      "r315",
      "r316",
      "r317",
      "r320",
      "r326",
      "r328",
      "r356",
      "r400",
      "r482",
      "r611",
      "r612",
      "r613",
      "r640",
      "r641",
      "r669",
      "r675",
      "r676",
      "r677",
      "r678",
      "r679",
      "r681",
      "r701",
      "r729",
      "r730",
      "r731"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity-parentheticals",
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs",
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-details-textual",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets",
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets-parentheticals",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity-parentheticals",
      "http://www.generac.com/20221231/role/statement-note-1-description-of-business",
      "http://www.generac.com/20221231/role/statement-note-10-leases-",
      "http://www.generac.com/20221231/role/statement-note-10-leases-details-textual",
      "http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-tables",
      "http://www.generac.com/20221231/role/statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-details-textual",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-tables",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-tables",
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs",
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-details-textual",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-tables",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-details-textual",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-tables",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-unrecognized-tax-benefits-details",
      "http://www.generac.com/20221231/role/statement-note-16-benefit-plans",
      "http://www.generac.com/20221231/role/statement-note-16-benefit-plans-details-textual",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-tables",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited",
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-tables",
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-tables",
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts",
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details",
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-tables",
      "http://www.generac.com/20221231/role/statement-note-21-subsequent-events",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-tables",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-unaudited-pro-forma-information-details",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-tables",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-tables",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-details-textual",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-tables",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-tables",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-details-textual",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-tables",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-details-textual",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-tables",
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r315",
      "r316",
      "r317",
      "r356",
      "r710"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets",
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets-parentheticals",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity-parentheticals",
      "http://www.generac.com/20221231/role/statement-note-1-description-of-business",
      "http://www.generac.com/20221231/role/statement-note-10-leases-",
      "http://www.generac.com/20221231/role/statement-note-10-leases-details-textual",
      "http://www.generac.com/20221231/role/statement-note-10-leases-leases-cost-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-maturities-of-lease-liabilities-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-balance-sheet-information-related-to-leases-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-supplement-cash-flow-information-related-to-leases-details",
      "http://www.generac.com/20221231/role/statement-note-10-leases-tables",
      "http://www.generac.com/20221231/role/statement-note-10-leases-weighted-average-remaining-lease-term-and-discount-rate-information-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-deferred-product-obligations-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-details-textual",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-2-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-recognition-of-deferred-revenue-related-to-extended-warranties-details-parentheticals",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-reconciliation-of-product-warranty-liability-details",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-tables",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-longterm-borrowings-details",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-maturities-of-longterm-borrowings-outstanding-details",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-tables",
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs",
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-details-textual",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-tables",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-components-of-deferred-tax-assets-and-liabilities-details",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-details-textual",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-provision-for-income-taxes-details",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-reconciliation-of-statutory-and-effective-tax-rates-details",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-tables",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-unrecognized-tax-benefits-details",
      "http://www.generac.com/20221231/role/statement-note-16-benefit-plans",
      "http://www.generac.com/20221231/role/statement-note-16-benefit-plans-details-textual",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-details-textual",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-restricted-share-awards-activity-details",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-tables",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-weightedaverage-assumptions-used-in-the-blackscholesmerton-option-pricing-model-details",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies",
      "http://www.generac.com/20221231/role/statement-note-18-commitments-and-contingencies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited",
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-tables",
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-unaudited-quarterly-financial-information-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-details-textual",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-reconciliation-of-contingent-consideration-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-summary-of-allowance-for-doubtful-accounts-details",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-tables",
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts",
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details",
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-tables",
      "http://www.generac.com/20221231/role/statement-note-21-subsequent-events",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-details-textual",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-preliminary-price-allocation-details",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-tables",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-the-combined-fair-value-of-the-consideration-transferred-for-these-acquisitions-details",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-unaudited-pro-forma-information-details",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-details-textual",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-tables",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-details-textual",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-fair-value-of-derivatives-details",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-tables",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-details-textual",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-tables",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-details-textual",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-net-sales-by-products-and-services-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-segment-information-details",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-tables",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-total-sales-by-reportable-segment-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-details-textual",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-inventories-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-tables",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-carrying-amount-of-goodwill-details",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-details-textual",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-tables",
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesAcquisitions": {
     "auth_ref": [
      "r8",
      "r9",
      "r138"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of stock issued during the period pursuant to acquisitions.",
        "label": "Common stock issued for business combination (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesAcquisitions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r8",
      "r9",
      "r133",
      "r138",
      "r586"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised",
        "negatedLabel": "Exercised, number of options (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-summary-of-stock-option-activity-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesTreasuryStockReissued": {
     "auth_ref": [
      "r9",
      "r133",
      "r138"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of treasury shares or units reissued. Excludes reissuance of shares or units in treasury for award under share-based payment arrangement.",
        "label": "Treasury stock issued for business combination (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesTreasuryStockReissued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueAcquisitions": {
     "auth_ref": [
      "r30",
      "r133",
      "r138"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued pursuant to acquisitions during the period.",
        "label": "Common stock issued for business combination"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueAcquisitions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueTreasuryStockReissued": {
     "auth_ref": [
      "r8",
      "r9",
      "r133",
      "r138",
      "r140"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of treasury shares or units reissued. Excludes reissuance of shares or units in treasury for award under share-based payment arrangement.",
        "label": "Treasury stock issued for business combination"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueTreasuryStockReissued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchaseProgramAuthorizedAmount1": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of stock repurchase plan authorized.",
        "label": "us-gaap_StockRepurchaseProgramAuthorizedAmount1",
        "terseLabel": "Stock Repurchase Program, Authorized Amount"
       }
      }
     },
     "localname": "StockRepurchaseProgramAuthorizedAmount1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchaseProgramPeriodInForce1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period which shares may be purchased under a stock repurchase plan authorized by an entity's Board of Directors, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "us-gaap_StockRepurchaseProgramPeriodInForce1",
        "terseLabel": "Stock Repurchase Program, Period in Force (Year)"
       }
      }
     },
     "localname": "StockRepurchaseProgramPeriodInForce1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r9",
      "r12",
      "r13",
      "r88",
      "r820",
      "r847",
      "r870",
      "r947"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "us-gaap_StockholdersEquity",
        "totalLabel": "Stockholders\u2019 equity attributable to Generac Holdings Inc."
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders\u2019 equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r183",
      "r184",
      "r196",
      "r252",
      "r253",
      "r283",
      "r315",
      "r316",
      "r317",
      "r320",
      "r326",
      "r400",
      "r482",
      "r611",
      "r612",
      "r613",
      "r640",
      "r641",
      "r669",
      "r675",
      "r676",
      "r681",
      "r701",
      "r730",
      "r731",
      "r847",
      "r870",
      "r947"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.",
        "label": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "totalLabel": "Total stockholders\u2019 equity"
       }
      }
     },
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets",
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-disclosure-of-changes-in-accumulated-other-comprehensive-loss-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "auth_ref": [
      "r702",
      "r703"
     ],
     "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]"
       }
      }
     },
     "localname": "SubsequentEventsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-21-subsequent-events"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": {
     "auth_ref": [
      "r838"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.",
        "label": "Supplemental Balance Sheet Disclosures [Text Block]"
       }
      }
     },
     "localname": "SupplementalBalanceSheetDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental disclosure of cash flow information"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-cash-flows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_TableTextBlock",
        "terseLabel": "Notes Tables"
       }
      }
     },
     "localname": "TableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-10-leases-tables",
      "http://www.generac.com/20221231/role/statement-note-11-product-warranty-obligations-tables",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-tables",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-tables",
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-tables",
      "http://www.generac.com/20221231/role/statement-note-17-share-plans-tables",
      "http://www.generac.com/20221231/role/statement-note-19-quarterly-financial-information-unaudited-tables",
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-tables",
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-tables",
      "http://www.generac.com/20221231/role/statement-note-3-acquisitions-tables",
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-tables",
      "http://www.generac.com/20221231/role/statement-note-5-derivative-instruments-and-hedging-activities-tables",
      "http://www.generac.com/20221231/role/statement-note-6-accumulated-other-comprehensive-loss-tables",
      "http://www.generac.com/20221231/role/statement-note-7-segment-reporting-tables",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-tables",
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-tables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TaxCreditCarryforwardAmount": {
     "auth_ref": [
      "r161"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.",
        "label": "us-gaap_TaxCreditCarryforwardAmount",
        "terseLabel": "Tax Credit Carryforward, Amount"
       }
      }
     },
     "localname": "TaxCreditCarryforwardAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests": {
     "auth_ref": [
      "r28",
      "r300",
      "r399",
      "r674"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, attributable to parent and noncontrolling interests, of an entity's issued and outstanding stock which is not included within permanent equity. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. Includes stock with a put option held by an ESOP and stock redeemable by a holder only in the event of a change in control of the issuer.",
        "label": "us-gaap_TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance"
       }
      }
     },
     "localname": "TemporaryEquityCarryingAmountIncludingPortionAttributableToNoncontrollingInterests",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Adjustments to temporary equity resulting from foreign currency translation adjustments.",
        "label": "us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments",
        "verboseLabel": "Foreign currency translation"
       }
      }
     },
     "localname": "TemporaryEquityForeignCurrencyTranslationAdjustments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TemporaryEquityNetIncome": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of net income or loss attributable to temporary equity interest.",
        "label": "us-gaap_TemporaryEquityNetIncome",
        "verboseLabel": "Share of net income (loss)"
       }
      }
     },
     "localname": "TemporaryEquityNetIncome",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-4-redeemable-noncontrolling-interest-redeemable-noncontrolling-interest-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TradeNamesMember": {
     "auth_ref": [
      "r173"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.",
        "label": "Trade Names [Member]"
       }
      }
     },
     "localname": "TradeNamesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-9-goodwill-and-intangible-assets-summary-of-intangible-assets-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockAcquiredAverageCostPerShare": {
     "auth_ref": [
      "r140"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total cost of shares repurchased divided by the total number of shares repurchased.",
        "label": "us-gaap_TreasuryStockAcquiredAverageCostPerShare",
        "terseLabel": "Treasury Stock Acquired, Average Cost Per Share (in dollars per share)"
       }
      }
     },
     "localname": "TreasuryStockAcquiredAverageCostPerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_TreasuryStockMember": {
     "auth_ref": [
      "r29",
      "r140"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.",
        "label": "Treasury Stock [Member]"
       }
      }
     },
     "localname": "TreasuryStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity",
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs",
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockShares": {
     "auth_ref": [
      "r29",
      "r140"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.",
        "label": "Treasury stock, shares (in shares)"
       }
      }
     },
     "localname": "TreasuryStockShares",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets-parentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockSharesAcquired": {
     "auth_ref": [
      "r9",
      "r133",
      "r138"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares that have been repurchased during the period and are being held in treasury.",
        "label": "us-gaap_TreasuryStockSharesAcquired",
        "negatedLabel": "Stock repurchases (in shares)",
        "terseLabel": "Treasury Stock, Shares, Acquired (in shares)"
       }
      }
     },
     "localname": "TreasuryStockSharesAcquired",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity",
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockTextBlock": {
     "auth_ref": [
      "r142"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock.",
        "label": "Treasury Stock [Text Block]"
       }
      }
     },
     "localname": "TreasuryStockTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_TreasuryStockValue": {
     "auth_ref": [
      "r29",
      "r140",
      "r141"
     ],
     "calculation": {
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.",
        "label": "us-gaap_TreasuryStockValue",
        "negatedLabel": "Treasury stock, at cost, 11,284,350 and 8,667,031 shares at December 31, 2022 and 2021, respectively"
       }
      }
     },
     "localname": "TreasuryStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-balance-sheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TreasuryStockValueAcquiredCostMethod": {
     "auth_ref": [
      "r133",
      "r138",
      "r140"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.",
        "label": "us-gaap_TreasuryStockValueAcquiredCostMethod",
        "negatedLabel": "Stock repurchases",
        "terseLabel": "Treasury Stock, Value, Acquired, Cost Method"
       }
      }
     },
     "localname": "TreasuryStockValueAcquiredCostMethod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-stockholders-equity",
      "http://www.generac.com/20221231/role/statement-note-13-stock-repurchase-programs-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "auth_ref": [
      "r618",
      "r626"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unrecognized tax benefits.",
        "label": "us-gaap_UnrecognizedTaxBenefits",
        "periodEndLabel": "Unrecognized tax benefit, end of period",
        "periodStartLabel": "Unrecognized tax benefit, beginning of period"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefits",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-unrecognized-tax-benefits-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities": {
     "auth_ref": [
      "r629"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from settlements with taxing authorities.",
        "label": "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities",
        "negatedLabel": "Settlements"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-unrecognized-tax-benefits-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense": {
     "auth_ref": [
      "r931"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for penalties related to a tax position claimed or expected to be claimed in the tax return.",
        "label": "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense",
        "terseLabel": "Unrecognized Tax Benefits, Income Tax Penalties Expense"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": {
     "auth_ref": [
      "r628"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.",
        "label": "Increase in unrecognized tax benefit for positions taken in current period"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-unrecognized-tax-benefits-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions": {
     "auth_ref": [
      "r627"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.",
        "label": "Increase in unrecognized tax benefit for positions taken in prior period"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-unrecognized-tax-benefits-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense": {
     "auth_ref": [
      "r931"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest expense for an underpayment of income taxes.",
        "label": "us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense",
        "terseLabel": "Unrecognized Tax Benefits, Interest on Income Taxes Expense"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations": {
     "auth_ref": [
      "r630"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from lapses of applicable statutes of limitations.",
        "label": "us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations",
        "negatedLabel": "Statute of limitation expirations"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-15-income-taxes-unrecognized-tax-benefits-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r79",
      "r80",
      "r81",
      "r357",
      "r358",
      "r360",
      "r361"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.",
        "label": "Use of Estimates, Policy [Policy Text Block]"
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-significant-accounting-policies-policies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember": {
     "auth_ref": [
      "r850",
      "r851",
      "r852",
      "r853",
      "r854"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Valuation allowance of deferred tax asset attributable to deductible temporary difference and carryforward.",
        "label": "SEC Schedule, 12-09, Valuation Allowance, Deferred Tax Asset [Member]"
       }
      }
     },
     "localname": "ValuationAllowanceOfDeferredTaxAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesBalance": {
     "auth_ref": [
      "r307",
      "r313"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of valuation and qualifying accounts and reserves.",
        "label": "us-gaap_ValuationAllowancesAndReservesBalance",
        "periodEndLabel": "Balance at End of Year",
        "periodStartLabel": "Beginning"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesBalance",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense": {
     "auth_ref": [
      "r310"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.",
        "label": "Additions Charged to Earnings"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesChargedToCostAndExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts": {
     "auth_ref": [
      "r311"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to accounts other than cost and expense.",
        "label": "Allowance for credit losses"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesChargedToOtherAccounts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesDomain": {
     "auth_ref": [
      "r307",
      "r308",
      "r309",
      "r312",
      "r313"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesPeriodIncreaseDecrease": {
     "auth_ref": [
      "r855"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in valuation and qualifying accounts and reserves.",
        "label": "Charges to Reserve, Net"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesPeriodIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesTypeAxis": {
     "auth_ref": [
      "r307",
      "r308",
      "r309",
      "r312",
      "r313"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-20-valuation-and-qualifying-accounts-schedule-of-valuation-and-qualifying-accounts-details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of variable rate.",
        "label": "Variable Rate [Axis]"
       }
      }
     },
     "localname": "VariableRateAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.",
        "label": "Variable Rate [Domain]"
       }
      }
     },
     "localname": "VariableRateDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements",
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_VehiclesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment used primarily for road transportation.",
        "label": "Vehicles [Member]"
       }
      }
     },
     "localname": "VehiclesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-2-summary-of-accounting-policies-property-and-equipment-estimated-useful-lives-details",
      "http://www.generac.com/20221231/role/statement-note-8-balance-sheet-details-property-and-equipment-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r331",
      "r347"
     ],
     "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 common shares outstanding - diluted: (in shares)",
        "terseLabel": "Diluted shares (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r330",
      "r347"
     ],
     "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 common shares outstanding - basic: (in shares)",
        "terseLabel": "Weighted average shares, basic (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-consolidated-statements-of-comprehensive-income-",
      "http://www.generac.com/20221231/role/statement-note-14-earnings-per-share-reconciliation-of-basic-and-diluted-earnings-per-share-details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WriteOffOfDeferredDebtIssuanceCost": {
     "auth_ref": [
      "r49"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Write-off of amounts previously capitalized as debt issuance cost in an extinguishment of debt.",
        "label": "us-gaap_WriteOffOfDeferredDebtIssuanceCost",
        "terseLabel": "Write off of Deferred Debt Issuance Cost"
       }
      }
     },
     "localname": "WriteOffOfDeferredDebtIssuanceCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.generac.com/20221231/role/statement-note-12-credit-agreements-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    }
   },
   "unitCount": 7
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "205",
   "URI": "https://asc.fasb.org/topic&trid=2122149",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "350",
   "URI": "https://asc.fasb.org/topic&trid=2144416",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226317&loc=d3e202-110218",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=27011434&loc=d3e125687-122742",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "https://asc.fasb.org/topic&trid=2144648",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907644&loc=d3e11281-110244",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=124440162&loc=d3e12021-110248",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=124440162&loc=d3e12053-110248",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12524-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(2))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(3))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(4))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1),(c)(5)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(3)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "460",
   "URI": "https://asc.fasb.org/topic&trid=2155896",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=99376301&loc=d3e1314-112600",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=99376301&loc=d3e1336-112600",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123465755&loc=d3e1835-112601",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123465755&loc=SL6230698-112601",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "40",
   "SubTopic": "50",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126972273&loc=d3e12317-112629",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "40",
   "SubTopic": "50",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126972273&loc=d3e12355-112629",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "https://asc.fasb.org/topic&trid=2208564",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(12)(c)",
   "Topic": "480",
   "URI": "https://asc.fasb.org/extlink&oid=122040564&loc=SL6540498-122764",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(16)(c)",
   "Topic": "480",
   "URI": "https://asc.fasb.org/extlink&oid=122040564&loc=SL6540498-122764",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(3)",
   "Topic": "480",
   "URI": "https://asc.fasb.org/extlink&oid=122040564&loc=SL6540498-122764",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "14",
   "Topic": "480",
   "URI": "https://asc.fasb.org/extlink&oid=122040564&loc=SL6540498-122764",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "15",
   "Topic": "480",
   "URI": "https://asc.fasb.org/extlink&oid=122040564&loc=SL6540498-122764",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "16(c)",
   "Topic": "480",
   "URI": "https://asc.fasb.org/extlink&oid=122040564&loc=SL6540498-122764",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21475-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21506-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21521-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21538-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/subtopic&trid=2208821",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "https://asc.fasb.org/extlink&oid=6409875&loc=d3e20015-108363",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "15",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "712",
   "URI": "https://asc.fasb.org/extlink&oid=6410066&loc=d3e79218-111664",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "15",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "712",
   "URI": "https://asc.fasb.org/extlink&oid=6410066&loc=d3e79218-111664",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5047-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(l)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=SL79508275-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11149-113907",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11178-113907",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "https://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32632-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123586518&loc=d3e1043-128460",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(4)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "37",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123455525&loc=d3e2207-128464",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4845-128472",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4845-128472",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5333-128473",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=6911189&loc=d3e6405-128476",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=6911189&loc=d3e6408-128476",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126966197&loc=d3e6578-128477",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126966197&loc=d3e6613-128477",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126966325&loc=d3e6819-128478",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "805",
   "URI": "https://asc.fasb.org/topic&trid=2303972",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4568447-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4568740-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569643-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4613674-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569655-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4616395-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(3)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4590271-111686",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579240-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5580258-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41620-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41638-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41675-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "815",
   "URI": "https://asc.fasb.org/topic&trid=2229140",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19279-110258",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "60",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=7493716&loc=d3e21868-110260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13279-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28541-108399",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28551-108399",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(13))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.13,16)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(14))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.9)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126941378&loc=d3e61044-112788",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(15)(b)(2))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(1))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(24))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.16)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(15))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(16))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(18))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.24)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e640-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669686-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.27(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL116659661-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(210.5-03(11))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(21))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(22))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(23))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(24))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(5))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3367-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3000-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18726-107790",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r299": {
   "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/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(1)(iii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(2)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(n))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(1)))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(2)))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C)(1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C)(2))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21728-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=122038215&loc=d3e31137-122693",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a),(b),(c)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1707-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1757-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1828-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1500-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "44",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2062-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "48",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2538-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "48",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2538-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "51",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2574-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2597-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2600-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "54",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2603-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "https://asc.fasb.org/topic&trid=2144383",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "270",
   "URI": "https://asc.fasb.org/extlink&oid=126900757&loc=d3e543-108305",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "https://asc.fasb.org/extlink&oid=126900988&loc=d3e1280-108306",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "https://asc.fasb.org/extlink&oid=126900988&loc=SL124452896-108306",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e640-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8657-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e681-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(j)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8844-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669686-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8981-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e557-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "https://asc.fasb.org/topic&trid=2134510",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124507222&loc=d3e1436-108581",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "https://asc.fasb.org/topic&trid=2126998",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "340",
   "URI": "https://asc.fasb.org/extlink&oid=126905575&loc=SL49131252-203054",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "340",
   "URI": "https://asc.fasb.org/extlink&oid=126905575&loc=SL49131252-203054",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/subtopic&trid=2144439",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(5))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.19)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6036836-161870",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130531-203044",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130532-203044",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130561-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130563-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130563-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r49": {
   "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/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130564-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "https://asc.fasb.org/topic&trid=49130388",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123453770&loc=d3e1703-114919",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(10)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(4)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(5)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(6)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(7)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "220",
   "URI": "https://asc.fasb.org/topic&trid=2134417",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(8)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(9)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(4)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(5)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(6)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(7)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(8)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iii)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(03)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(4)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(5)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(6)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(7)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(j)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(4)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(l)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(n)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(o)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(p)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(q)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(r)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(r)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2410-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(4)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(5)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r561": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(6)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r562": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(7)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r564": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e2919-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=21916913&loc=d3e273930-122802",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r566": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "60",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=6414203&loc=d3e39689-114964",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "70",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=29639808&loc=d3e29008-114946",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r569": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r570": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r571": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(f)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r572": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450691-114947",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r573": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "715",
   "URI": "https://asc.fasb.org/topic&trid=2235017",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r574": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4534-113899",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r575": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126962052&loc=d3e4991-113900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r576": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r577": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r578": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r579": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r580": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r581": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r582": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r583": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r584": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r585": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r586": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r587": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r588": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r589": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a),(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r590": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r591": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r592": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r593": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r594": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r595": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r596": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r597": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r598": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r599": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r600": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r601": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r602": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r603": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r604": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r605": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r606": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r607": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r608": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r609": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r610": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(l)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r611": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r612": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r613": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r614": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.D.2.Q6)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r615": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "https://asc.fasb.org/topic&trid=2228938",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r616": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "35",
   "Subparagraph": "(a)",
   "Topic": "720",
   "URI": "https://asc.fasb.org/extlink&oid=6420018&loc=d3e36677-107848",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r617": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "35",
   "Subparagraph": "(b)",
   "Topic": "720",
   "URI": "https://asc.fasb.org/extlink&oid=6420018&loc=d3e36677-107848",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r618": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=SL37586934-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r619": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e32247-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r620": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e32280-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r621": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r622": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r623": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r624": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r625": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r626": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r627": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r628": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r629": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r630": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(4)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r631": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r632": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32840-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r633": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r634": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r635": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32847-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r636": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r637": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r638": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r639": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r640": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r641": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r642": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r643": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r644": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r645": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r646": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r647": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r648": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r649": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r650": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r651": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "https://asc.fasb.org/topic&trid=2144680",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r652": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4946-128472",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r653": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4946-128472",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r654": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(1)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r655": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(3)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r656": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)(1)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r657": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r658": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r659": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r660": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r661": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r662": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(3)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r663": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r664": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r665": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624181-113959",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r666": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126731327&loc=d3e90205-114008",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r667": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r668": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r669": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r670": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r671": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r672": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r673": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13433-108611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r674": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r675": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r676": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r677": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r678": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r679": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r680": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r681": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r682": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "830",
   "URI": "https://asc.fasb.org/topic&trid=2175825",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r683": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r684": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r685": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124429444&loc=SL124452920-239629",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r686": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r687": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r688": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918638-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r689": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4273-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r690": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r691": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r692": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r693": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r694": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r695": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(2)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r696": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r697": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r698": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r699": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r700": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r701": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r702": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "855",
   "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r703": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "855",
   "URI": "https://asc.fasb.org/topic&trid=2122774",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r704": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r705": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r706": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r707": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r708": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r709": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "330",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=6471895&loc=d3e55923-109411",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r710": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r711": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r712": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "https://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r713": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r714": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r715": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(24))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r716": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(25))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r717": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(26))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r718": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r719": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "https://asc.fasb.org/topic&trid=2122369",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r720": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r721": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r722": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r723": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(20))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r724": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(21))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r725": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(22))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r726": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r727": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r728": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r729": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r730": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r731": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r732": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r733": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r734": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r735": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r736": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "https://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r737": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=126942805&loc=d3e3115-115594",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r738": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r739": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Subparagraph": "(d)",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99779-112916",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "270",
   "URI": "https://asc.fasb.org/topic&trid=2126967",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r740": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99893-112916",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r741": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r742": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r743": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r744": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r745": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r746": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r747": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r748": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r749": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r750": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r751": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r752": {
   "Footnote": "2",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r753": {
   "Footnote": "4",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "29",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r754": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column B",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r755": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column C",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r756": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column D",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r757": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column E",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r758": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column F",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r759": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column G",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r760": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column H",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r761": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column I",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r762": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "09",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r763": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(i)",
   "Subsection": "01",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r764": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(i)",
   "Subsection": "02",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r765": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(iii)(A)",
   "Subsection": "01",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r766": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(iii)(A)",
   "Subsection": "02",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r767": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(iii)(B)",
   "Subsection": "01",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r768": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(iii)(B)",
   "Subsection": "02",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r769": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(iii)(C)",
   "Subsection": "02",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r770": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(iv)",
   "Subsection": "01",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r771": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(iv)",
   "Subsection": "02",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r772": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(m)",
   "Publisher": "SEC",
   "Section": "4",
   "Subparagraph": "(1)(iii)",
   "Subsection": "08",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r773": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r774": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r775": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r776": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r777": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r778": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226024-175313",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r779": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226049-175313",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r780": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226052-175313",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r781": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124507222&loc=d3e1436-108581",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r782": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r783": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r784": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r785": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r786": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r787": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r788": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=122137925&loc=d3e14258-109268",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r789": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r790": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r791": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r792": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r793": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r794": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r795": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r796": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r797": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r798": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r799": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r800": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r801": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4587-114921",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r802": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r803": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r804": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r805": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r806": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r807": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r808": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r809": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r810": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r811": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r812": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "217",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126976462&loc=d3e36027-109320",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r813": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5504-128473",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r814": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r815": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r816": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r817": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r818": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r819": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "https://asc.fasb.org/topic&trid=2134479",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r820": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r821": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r822": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r823": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r824": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r825": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r826": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r827": {
   "Name": "Form 10-K",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "310",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r828": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r829": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r830": {
   "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"
  },
  "r831": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r832": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r833": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r834": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r835": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r836": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r837": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r838": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "210",
   "URI": "https://asc.fasb.org/topic&trid=2122208",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r839": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r840": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r841": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r842": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r843": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r844": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r845": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r846": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(f))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r847": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r848": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r849": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r850": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r851": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(1)))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r852": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(2)))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r853": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r854": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r855": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r856": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r857": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r858": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r859": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21728-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r860": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r861": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r862": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r863": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r864": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8672-108599",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r865": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4647-111522",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r866": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5033-111524",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r867": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r868": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=84159169&loc=d3e10149-111534",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r869": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=84159169&loc=d3e10178-111534",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r870": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r871": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r872": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r873": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r874": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r875": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r876": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r877": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r878": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r879": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r880": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r881": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r882": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=SL108378252-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r883": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r884": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r885": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r886": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r887": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r888": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r889": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r890": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r891": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r892": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "https://asc.fasb.org/topic&trid=2127136",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r893": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r894": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r895": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r896": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r897": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r898": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r899": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r900": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r901": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r902": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r903": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r904": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r905": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r906": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r907": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r908": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r909": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r910": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r911": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r912": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r913": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r914": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r915": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r916": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r917": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r918": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r919": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r920": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r921": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r922": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r923": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r924": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r925": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r926": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r927": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r928": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r929": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "740",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126970579&loc=d3e23163-113944",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r930": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r931": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r932": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r933": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r934": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32621-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r935": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r936": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r937": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r938": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r939": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "((a)(1),(b))",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r940": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r941": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r942": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=124256753&loc=SL5864739-113975",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r943": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r944": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r945": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r946": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(2)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r947": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r948": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r949": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r950": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r951": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r952": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r953": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r954": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r955": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r956": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r957": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r958": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r959": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r960": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r961": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r962": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r963": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "730",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r964": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r965": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r966": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r967": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Publisher": "SEC",
   "Section": "11",
   "Subsection": "03",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r968": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(ii)",
   "Subsection": "01",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r969": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(iii)",
   "Subsection": "01",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  }
 },
 "version": "2.2"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>125
<FILENAME>0001437749-23-004153-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001437749-23-004153-xbrl.zip
M4$L#!!0    ( &."5E9 /M,[%-\  -<] 0 +    8VAA<G0P,BYJ<&?<N6=4
M4^'7]AF:2.]=B%)5FDA52D2DB8 (2"]*KZ$(! F$WHN @H(2Z4A5>@D)'6G2
M04)-:-(3D1 EA)?_L][WG2_S86;6K%G/FCMGY\LY)^>^SKGWWK\KY^+GQ1J
M];&.O@Z @H("X'CY 5PL K0 5)24_]DN!_7E1G.5AH::FH:>EO;*549Z1D8&
M>@8&)F9V5B9F-F8&!E9N5C8.3BXN+D86'EYN3EYV3B[.__P(!=7E.=0T=#0T
M=)Q,#$R<_[?'11> [2IE"]4.%84P@)*-@HJ-XJ(/  0 *&@H_FL _N>@H+R<
MXQ7:JW3T#)<'-+$"*"FHJ"BIJ?XSZ\N]X9?[ =1L-.PWY#2O<)B\H!7VY[P;
ME5EX5>3AMVZN9Y,X4?F7 =%T]-P\O'S\8N(2-V_=5E!44E:Y=U_KD;:.KI[^
M8U,S\^<6EE;63LXNKF[N'IZ!KX*"0R"AKV-BX^(3$I.2L[+?OLO)??\AKZBX
MI+2LO.)+97U#8U-S2VM;>T]O7__ X/>AX:GIF=FY^9\+: QV?6-S:_O7SB[^
M]_&?$\(I\>^__^BB %!1_*_Q?ZJ+[5(7)34U%37M?W114(;\YP V:IH;<E?8
M-4UH7_AS"-^-NLKY,+/P6S>=B/PS'-?+@$EZ;E$%C!C^/]+^2]G_-6'1_X^4
M_6]A_X<N-("1BN+RX5&Q 4" <].BY)N _U<B[_!;L>I7<Y.L43_ 2=V;5ZN+
M@WT7 ,ZFL2 D Y1U3N,61$NKPTL5Q<'DN_@DWH.'^OR=V#.W]8^4S/195S /
M@(XF#LI0V_/&:K) +^Y49QI*5T?,Q3JD2SFAIA'T4=)U/B;%*ST'<&&F\M<?
M8V*N?7J;F;D&6G1[[I"*!O9< %)0]$VRL042>&KO?U)9GA.>S1;5\F??_-DK
M$]0!?!N1?H\WJ':3)=?C+@#1*0O6Y+E3V)4@$)7!BU+-&NW/L!ZK\PI!C7F%
M)W._)D)%P.]WOX,@K]W0[;!%4P*V_OS-"]PF0H,C=Z!]Y6L+CX1Q,LDJQ<OR
MX=&'U9$W:PV *RM^2_AHBA,:KM\A [*+\*?$P#5@E/56% Z#L*DB6:;/GX%T
M?'RD#!'S;#8($[X\[N=BM5S*@I%.$E3E6CA:0D\^MKR_CI5T"U\>"2;S0_4F
MO>=-<O5:9X1GKN<L[?\M;DVD<4IR4AFX,TB]MD:U0R^Y81P-PCVM45Z7..#P
MQRV267<:#?EQN[<P1YSZ%4E.<WD_'M9M]F_>?&HN!DT2$  ,JGF1PL^_J5GA
M4(1$W 6@^P) #16_ ,1E8M7='O)O@/ FO:4O'N72[YS]_!!AWB*=M:[ZE?9:
M9+B^-A2%&R>LM>"W>U93K;<*U\*U>H7DB38N@8&U1"/"@0/+-8['B;FWW]_>
M6M%>;DAUHV;[^,F 3$_EXH8#8AS2#J ,L$IB ]9PQ/*7/4L]\N&X7_W[[UXY
MVN:&BQH^\ &5+E% N(\V9+X7F+XB/(NXA5UVP);WYJ_&,F$JD+/!X!->\(%H
MR\_#J?Y 5OHS:C<_*A')/7LQKS,8Y+C?GA6!OWRD%P W639B!B;H:YX#4:]\
M[J!&QC5>N'LS^7N56K)2@5E!PL0$+=K,8@3("@+[,.B>OR<IXK.[-?C;\*6U
MJ$K-$AOW^N44OO76S)+GZ3H+UQEK^'@!,6\TNZ_ L:C%!OW)"X"3*BSCGVX\
MW#**E%B*(^5>7C*+(;Z-^W??U%^?&('#;;=1@ I%!=7NX]O-^:\5I97F#LR*
MEAYEQ:EEME)ES"&?&"_67:8$&T(3JPJ+=J ^ 2>3@;B3Q04'2,)9P*)!4Y89
MWPN?K2H^X@9-]_68U#NB5'O#DIOCC.05I" >OC^_OII\WR)!MGB6Q%ZO6PTQ
M,'UO8[NX) X*GJ+QOK7-U$*TY*)FL[B<%A!MBAT<5,U@]LQKZ8(1M4@T-0OA
M[2R<L)X7'N&)Z+MX6%&UA^P/OWN V@!=3HH_I5Q;%X!&X. J/7D,QAC$(D!L
M][ P;G:)9[!Q85)?[G5SEJ-\(.5G+ K@2E*Y@EC%R!Y(XHT'A6Y.7,<;[^.Q
M+#00&_OQGTWKU38KC2(C'ERU!^^>&S@^C#K^XTH9J?&F"*%*L#@OFR?D39'
M$.0UC6L:?'BN@9BO*^=5!\)BS\3'<_+E.PX#4\/7\]80(F<A@]BZ*!A?A$@&
M=5,E2756YL]DV07 D_9^0A9KPK%:YJ;OZK37NJ A(-Q.&[IWQA_Q,QC>U!)_
MLO=%35XB)FB9WPO6^.O8/J6!$);XJ'F>@M1*MN()OK**V0VT9>E%$6_.P?&R
MA):,M1^Y:TFH>C?4S*LS!^[F,GI;?3?J^L<CX,V N"(71E$UUO '@#/A9-SJ
MPBKAHW%&P7UB!Z8)M^[N<YE ?7?=Q3=6SC\[>.>XDY:1UG]#[V2W2)\F* X3
M082YC/X\XP,@5$UHKGAM_U^L&',IZLQF_TM W_:PD,ZZMRZI<8!,[ ;\"T@^
MABV,K_.3)X T:I)XFE?9A4P!R]OD'\I ]]_TP_AWQTJUAZ;WT/?_U#$2UR\
M- S3&@P1$SDPYA(<%(V,H_GQP:6.6!/$QFFM<%J*%H,@RI:H];><VS=\>=><
MJ?;:)3=0:!1AF)AR)F/K=1]Q : "M9 %%PQ]P&#L.-&@I@8Y]7L@-J/^JO,[
MI>_V:IDQ#2& Y)0!8'-('SP.1D&RP\MB62X7T2/,E(,1ORO\ D 7UW1$*%H:
M=LI$?'\!EABYHM1[:QE%Q2L>J=%6A R:@GGUPPGO<2T]=J8]X%(M+)RI/%'!
M)ZB.U-_FQ)=Y@*B["1@6R=]:B5A;\^5=Q-,>W%&X *![>QVH7Z&8FNN"PHL-
M:CW;NSI_SS^."DGL3AD!W^FHK%NQ#4T,'0.$A7/A@3VHQ=YUVD$#00<S8OC9
MY=D]^H4[>=7H1_/;@SG![_/NI/:.Y-& VT1]!G3'4K.8PL%X$3L\3SR4HW(W
M@@.'(HD7W&A)LQ[7)$^D]QYXVVDZ:#PPN5.:+PIC5IV@-="&*F/@BXOKNJE(
M,4AQ%S]HOYLPS@-Q$<Y^/HW".%I)+.0\H ?*?69#:K&T#O)M==1Q12SR;Y7B
MM6R)8;ALC'@IWJ9OY9H9_W%_]>).,S]T]%[,P=UXBTP]%Q&J=X[RC6M4NY62
MF[ $4/./&KQ-+UE]"J&.JWKFD(IDR>)$$(,J=R>LU(:/A14R5^[_=>'B@XOI
M^'T./Y&(P84<'."+!\EJ>'#T'^!"S %9#%<\*-3@= %@H!P&U3=^^*F,H "J
M&B^Y[HP!PH>TH2EG.K#NAPI'"Z?K/AE1&SCO?X0T7P4"GB=)9.:1G'M*R"VS
M5>#;Q>^IH>^E/E SGM;IGG]%>?RZ #BOQOH1-Q'WH699GD\]+@ O#3!>?<D'
M*%C.WRZC]]OJVH"P3YP6(S @S-N8&RI[7J0&PL&Z@70HC#,DPVHBOHV%9.:W
M8VDBUM,>01!W>.<SXMSZ8Y]B\#KPF8F#+$G^O%6:%(IK6>=NJX  G^(&4\G<
M"[9+>TB.S@Z+WD'JJ2*QX3+ZMI;,$.]UOFYJ-V4"[+R&?(?T.J'G]4'+_L%Y
M[AI3L F< ]8#=E->6&/^_OO\?5]6\U3-[S6.])M4>[<EL4!@Q J(EWR-I(<;
MCSJ!+<"'YA$F"A._GL)ZPEQ7?7]_7PJ18OR&&_87D;4^@FJ>O8"4=PF)$X&8
MNFO0FV!&2 K6J"JT;,P1*1Q_?":J)74U*S3ST;-P;)#/Y[(E)]$)VAD%BW@2
MY+R<8RVCORZF@!;,K%2_RJ9X[P\&*@N->K'9U'ZTL-F2G^VG,GP^/:ZXA=0X
M;T:$EY,GD2I$7=SI6B!)>P8JX>$3'A1<<#O&R"W>!B*V))+#D<6XFV_^_J.;
M8"3M_%N+H5XR/5V1)_#;:7+$O9T(=F0>F,E!_%T%\>6_#1L#+DQK2U*Q//6+
M2!FG\,5[UUB9_>LN%Z_G8-]J?48*\LX@QLJG"4P?7KEJ@7L[OZ;O$TH5.:&
MU<!DQH2&"Y0"PA6U U;IH0$H3@T>(FA W_75)IX[S:TJ12E[] Y#(KN#;,25
M@P[\1\9U%:Z9"0IMSJ?_G8(6A&?10N"5(]4,BW>.P_,N $^G96JDMWZHM8DF
M90K@1/F)QF2ZEC,=Z.4=/U,960,"(>7Z.)84DG3EJE;%3H1P>_IPL/2M-W<E
MWS@/',3*6'*J.=;"M"23\<K=L@D1BO,B<PBM-2"C%[H/LE#A^5JQ::QGO4ST
ME91<U$JD!A_Q'5Z^%\X"6RN&,2#O0&),+37X("/=^LQI6*_WP]9]4R+UAU)4
M.E>S[AI01/G)1PIP7P \ZA+M^<_+45Y'"U6]0$9% Z# $M'8X0(0FV$U\\<J
M9W=N8.K>@?.-LB?EPE?&Q[I_#XI%UG62M-?&68B]#WTX["<:E\$ZCE0>Z+2/
M(=P;%)&,OO0X]4IX-)F/",(T-3:3V7!E"1BOT'3G%.WIP@9=C1*=2I;U!\!<
M,HAH&H0WZ'=H>9*G=POKP.AUGR>I\<,Z7]:M Z?.S.:0I9?'9DYM7&/$_/Z\
MC ,7G"DAZ;SP9)&[(7ZPU]HA5L$FQ+9:2KRY@/CE!VBNV2P]>%1S4!AE\VJ<
M"@+6GE7L-##"D7-?5.REUE2N6"_H7D-'/35_<EC)6'+%43D[<G"NPI(DAM/(
M7^O(N&I%E.\E%+"W+F^[W_'P$XOM2)1N!Q18#0$^INM]9AG+0(.,9A4S8B\
M.&,O)HY+J(F%6;??%^6^CUK(V=XW;>0/& 2]W?;.YXW_N:2T),3T.J'_*/;H
MC)LD1VS#SU]B%FL02R**%ZI=*INP?])1I5+]3.)CB;OTP;KHC:=5$DQI7QTI
MLN$MM4A^R,-_(.9!?XP=.T9-R:11.]<H+C[GZ>W"9AI8@-GMJ 9>>KD)<S@W
M!-A;H%;?W(!73OB#8K.V7BK=X/[7]#;$I/\^);N9%6><'U_DB^]+H5N1(&'R
MC5\@/IC;)9;"J1#:,)PXC&8!*C3#_@_,P<*Q8*^^NVP4C[TG72SD;*!032O6
M? 7]>JLS@Q"=T@>Z7"!K)0Y7#Y$\Q%W0%4]K5*\Y:EI-]_P#=U&! ;+P^OEH
MN0=S@D#;P'XJ%J5#TL*,2?2CI5<R:G>"K><R@POL^N,+?;.[[VX(U@E$5]^E
MZ!:L$C$DVJR-"5A,-=F!>NXSI7\I^9DF;X1LGKZ1'J:J^=&F!Z.ER[JT*OP&
M);>>!R!MG7\LBS$^_W !\#[@Z*=[M<I?HW#N16;?VUN$RS4!I YCV?LZS*0>
M?(@$ !',?L-5Y9<PU .B)@N3>T  -3F\UT FA,HRA^% J]<:W\E]=]&09H&]
MWFA]&+CW8KB-&F?Q=I@<8X!KZ0[<X]^JD8U5X%,T#)[YN3L_5O;0;49Z..[.
MDL;RU( 91=,0+^!EU2Z0%DI5!7DVTG.Z0HM;/HJOUI%^Y94FOF*@ZO^1?,B>
MSP-_<)/J.*$+>9-8B ];@QWHXN+G!WZ3G">@BJ4#[;2IGU.@+0?D>@.7-_*A
M_5E*5%O!/_SZ[D8=@.I7#^IP-ET7@&_@V/2&=6G^<3/<5G2S!?)::]LC5 [D
M:95.SO86[$ZM%D!SY>[K]?W+-DO4?8C3R.#.QHSQ&$\H5(2F#QHTI:.I_PD#
MBG%<8ZM06J);)227S"ZYFA#!@<!?N0#(GUF'LR\<GEX PL9N=:B=C $BS+36
MPF$8%(G]M,O4DY"]8_&ZKB_%T/7'/;/!VSV8G%MW0@40-7N[U>6=KRXSX&G-
M;>.%:4TB:DU!)Z4;R%'>@/>-K&1YYU.I'0*8\<F=:'_[_A7% TJ4&=3P/U5B
MWCB^M^\^=WZ=I=9=VWZO+PN#@9P!Y4N9YMT4N6IW-H(K5Q2(@1A0$O<=*TA'
M+[]RLO?!YG%ARUPCL4XD_8G3Z^KD+B4ZOFO'#]@&R\>KH(HV E;(\:"@DE"Y
M)Z H]#7)".H8!YI+!ZF <@<FP*@C*+W@+,@;1/AC'$NJFF*M?9JNX?QA<>.[
MWQ9;&?Y"'C165VU;AJ9I],_Y:V7[5ZG)0M 'LT6S4),U649(MFDB3?JIQ>3!
M8=D#N4BA1Y>%=;4)$.$*N8N&\42,HUIT^U.D-;Q M! LOF3B4")QP'<]/BPG
M-/*Z7\3$!]#*RMW'>?^R"11$,-Y8GVB,F^^SGA^0/;@ 4-I"?*\TXAQ((MS-
MJ\X624\,"+-@1=*W ;V_'?.S[0FQKZ1M>@.(P6?:TT=J( 60:_;CUJ9T XL4
M<NC[1+3%^<>7->[_E."89?%Q@ZEJG\:QNS^X6IKK&^)>Q%^=>6'"]L#\*0!
M$4D#@!I?4KD+CEPE<6FI*2'M<P/AICJXC.2#('7[*>HE;>2<PYV8 :H7]RX
M!<5JKLA$7,:!#RYP$)V0H'#$ M6>"/IDTT?K$__!);C!KN'J:*P^_2;VAGG2
M,>6?0>N3E!1([><LNG7]PLS':@$W75Q$J%E?1ZM:W," HE$L4)IJPRJ(6U<$
M'VZKZHZPS8&$;DO3I^./AY )N1_&IO]I4>?1$?(0@36F"\!@'1U4#V^4NP9F
M722BCY\J69_TH-6^WJVP2(E0&]T7I1ZZ_H6*D>YX/(8[A,<!9^2 SN[K6;'\
M V;SROM$SO6_S7GV!-CF(*>Y+1 C.VL97#>%XB'Q$6%XAF<Q)GCC**@BUNXA
M@-KB]4 F.$3*\17][QLB0@/-)RQTOUZCXC=Q)^2T\I5?[-T$#X6J%+.L6>R
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
MC-> C)#%WKW/EQ4[SPA5^.6APMBS <E\1]/#B)V9NI'%=-6GM&QG$K"A:I+
MI:^0U[D 3/%ZS7HR" CXR RL# ^O2!JH0N9X?=8>9/8E \S,K]$  ( U"M/_
M=O^M_/\^'!@\@;BGQJES(:=W=,^ Q-_NV'>9SL<R9$<Z *F9$7$F)Q1[4M?N
M7J=%9Q\G! 9KFR'G YZ?Y8GK=W[*B'&^+-#Q)+??B[#]M'4;ZNZQY6F']X7
M5;_VX,=UINE^3!89A%1B'"YA7T-X\J@N0L,>4B\2)A&G<*2 X@5Y3L?*/7G1
MK'U+0&?8;%, \J8M^ZARG<2#2^A&,9^,P2QQJPG5?]*,[?+'9V2D9[9<AU0
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
M9&K6_6R&5U?NACCN)HXC1EZM^+JU+L/_?& PC'^Q]2)1H^:I_":8;<?^)M$
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
M:C"B'A#RRF+\/FC@ B (?=)"M"B%> [JX6"))%.,*]ZW2CFQNAP5WT/#O4.
MK*5[A80*V92HYFG39RJ9IS &K-"<%R,E2)Y-<S4(,2<,C&5/@VUJ,SQ"VO7'
M%D'U7-_WR$>[LRY73?QJBL?TO7>D.4K(8,YCI366JE]U'_Y<8M.@ []TUC'F
M'2KACXT7Z,K.RNWVC+ZYP)6A$'52P!#8A2_>'?HFQ1>S)?SD@ZDW[-;R3TC*
M^F8?O$$H!6_32V#MEZES*5GM=:FXDOG29JAF-K/YG=@[UQ=O'@S'?,=&JA<E
MX]/D"4630<:<,N\+./%/^(U)HKE"[-E]V8LVM7"A4LXL'6&1\>,%P4ES%[T\
M]:FB!DE:LTU2^-D3^Q4O>[X&7$Y:W:+[O)!*(VX#*15F8*4P@LVU-]QLA"$\
M<AGK![<5].(*_;+83?UH)_]89 R>/7&?YR<VM>#F$]TF7&>W<.?P9'/I*_EA
M7W0[^='J\Y2.T%^ED7IX*9U'7=DT^B@<G)"$&Q\(U_>&*GM5ZBOP!ZSLPCVB
M1,B#K7<;'19.G4)O!?/?:WE4&)V8Y$J!O0MXG<9I\H#F?X<Y4YC]5]R/[, O
MNR&2'DZ^A:4?HFYH7F<&B&Z\N:/N4;*QG_3VK>G;3UFRD_8^E^3"ASLFQP-)
M6:T7@/6@4:_51NKVG,9)B,:>4>>T<$M:2=[OX0"RET)DQ<A@E[G6Q/GZ6- @
MK;VQI>)NGMKPAS)F^MVB[/T\\+%Z3S(F@H.(/1M ^U:@/S3P-(<4&"VJH!5_
MCYJT?WL>?&]$98^D.&U/+#:8;AIA$MHBJ 1);KHVMS@&7C?)CDEE&:QY<?M9
M[!+_K.!;/.?NM+EI??BY#Q@Q4X1H(:00/U61)'!<S0TE_3[T^A6+Z%4O"X*I
MO;5[<UKK2)@::[M:YN>GY<Q1T*[];O.J,8W[I.!9-2H<2X^&-((85;C@D1??
M"?:J) YVX_M5?!1'!P_XPQ$7  \KT1Z=<5X>&F$>Q@[$UUZ1DG_!R7_+@&E"
M\CC9_1;L*OO>_7CX%^*1WM?VN3]GAI:+G0O3HJWO/:8=M%R'>$.2U>1B*[EU
MZ0-JTO<P&1D(&^5^,!<)A _:BJFS]^!W2:_-0R5XNWY+8]_<3K49!XOU=^M3
MM,C4;$%W+P!!P9N1Z@')?X>GU\M3?,CW'(A>?>UEG];.*1"/VG72KI2NA5OX
MUK&UZ'.,S#'U+%37W_O IL3^Q)'&U?%V713,759PCWN5 >I6;4,,)]'B!4R4
ME*Q=X6[W/>\_&V,\7C!4''DR.=YVW3R3F[=9H==+10M!M?-:<BN#DCQAKSHG
MC>0FCENVX,XN[9%2D;=WXYC&CU<SKTKS^+;K\[QR/A3# QY4"4O)>7O$S_DE
MP!RPQF@F*"UV/+FWCSO>F)$HJS\5).:CM%R"R#XP#*BG9,#@-\HF/@O9'+'3
M ,*TN=9'SHS<7T=\6&?(8"4&]A5P('%CI:4DM%$5F&IYN?O5;VWW.2Q=J<7=
M$8Z^"BM;E=[;&Q9<G\G3UA]AP)-Q%F*V)IXEX=60-!3TPJG04XG@ZN6U-W3"
M.MWXU5!8GT,,H5923W-;9V*Q'Q NK1TJD03R,&8AOC9FM2[+K-[-*\O&VCC0
M#99;2]<;P&#^/DRC7E1C"OYQO[?Y/.PU3"*'%CO$C]?GDP_(&A#E;BH,LC'O
M>1-F+\WZ8"/76%GIKMALB>JG.$(OIX'?BKNF2!;^K[TC2R2+?Q%"?)7P,:6?
MWSZI\M<_YK;B7RUDT::)XMF@-"6Z&YTA[6&A3G'<>#'#ZMC0T3A:<ZM0R@M
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
M2Z>>A_()XJ=]F4T$/G&<P7M,N[1C/50)0(L&KOK4YTCO2"[@I3^?^AR^>R%
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
M0G&QZXO5#G_0V+Y>JD_/:58GC(A$7("*+:3P?E'\8G"^JE*WHZ(*$F<9>5)
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
MQ7,M;H\5A05O]G[[U*\T*E@2]4Z.18Z&"SI7]-^ASY2.D99V:9_P1/Y]C=K
MMJ9AT42OW 1BAY80P:XN=^!,M*IPDNM==>&^B?N< TK%\HSQ'LR^7SZ:1JO?
M/>?C";7"94A;G5BY'^_-9FWBI";<]<%N\W8L!7,7?*,+HL0)0)S%N]MN*M\,
MN9=%?+B@^JA*++5>N][,I09*0T-WV"SN31KXJOMWI3&?R>IE8>:K^=@[]I#<
M+<.0$^M9^-?3*<;W-!"5(N'^94/% W-'RPG(@:E.7T9].$@HV1OX"@#GO!]<
MU^Q(^S)/)^*6]P(=9"$@V[=6>Z<V)VVT"Y=" "P@%WRZ" #%%E9@3N415;!
M^77?$U7L:&.T BB"VC[]]8QLNCS-GHNU=J'&T)<=GEKS',X\OQ#>O#]=[_9O
MMMA+IV:YO5%*8)QJ-C)$FL*EF =1(6!BOX"7V1Y8\5,W) &8732;ZST#:/(9
M2S]IBEC5/N3?&+J8FRNT",9P%[9-S+P%G]N6OC1_#XD9F,.UH[D.RAMQ.^\R
MX\Z_\BQH?WO2O ,QUEO):I^%F8 GX$T(NJT]ZUF*MQ#4=13W-'O@[-9E/J?7
M_==+!X^</$=6-8O,B)G]O['7)T^_9U%:X,V]5[)LK+XE$(-E%/J\O^1][G3#
M-XK\RHJRUU092.EGV3]\$+9)[>0KU/K"2I8=,<16]=Y*7/NNR>ZV3F6QSK.L
M:Z[)MU>B&M$_EMJ3T!Y0/S_OK,Z],WRUS!8LI8:0H'V<9OOCNFK_AR?$+_,;
M>A_F4._21)X!OM$W8T=7[$D^?3T_@N4Z/SZA:]UI%N(M?MTY\#Y[P]+DIR?9
M$C(2S-JV\SG/0I:O;\:*T'\.I*E4KN0H^S"QMT7/XM3.I&[,)VE'/C7SU#KW
MW,?^V9IP8E&UCKV'B#OOWG#IN1'YQX2E#E8RBG[REAG.07.'P,J?=K,D?4L:
M>P&Z_8U+3BJ)&<W09DF4UE=^_XM!5\\5/W=N=ZYP WNRK.*OWSA(/FX\^8G
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
M8KQ41H03^'>$\]7&^3I5 HJJ-&X*LCE#!<^>T:1@<RD,]J%?/XX,\J%VMU!
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
MK1V"&R[+*^T+#WEW&V W]ICY!/CX+.9MVQ-5LM2[$:XX^KKJ9H/",+48$_6
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
MIS*_<-8H)U0U[QF_R,NF(*6'[;T+E1Z3;I =%@.UVMJQM198H[M!5+[CG1^
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
M.'2+)BP,2V'N <@95X=I907O%[+<<3LUED+=C7)O=,L.EY4T<^./NHUXYN7
MU/RUXYO"K$!B@' 6)'+\&F#!=G=F/N^GT<?IDCPV7I_PC@S62_:W%]-R!;AV
MMKMBL]^=5JSM*1ETWNDER"V'DHCR?DLZ).#LE^OO'^&TT8:CI:_>ZEP#^O.A
M;5,T?)H0)47<TL8U8,[,H>M89@G!OI(23T+Y<5$6A0L=O_V[L_3C:X3:-GW%
M<L(33N?"#+/@=P= F[C0*8E"K?3NQO>C\B.G(=-O]KFKG. #B)^E]X>::=KV
M[VT+OQ,7FN5>D:@JYKPZ^/2PH?FESH*E3_'9O<G,)"=N,_:CZ?@$1^'O5I<B
M6.$?OU?']K#L-BQ)ML/AG*G.#5\&#>6OVIL[7NUNUCIUNQQ.S*7;URY-@D$M
MZ2Y3DX<"WD9;1S_A\]%"&,A!:-I>YM9-!NU:2?.1-M#8@ ]2*9 BXGZ>_>0\
MB?+;'@%3J%/:ACT<XGXDH5A@T*/:MK11O[--373"!PZ DN]Q>H6%"G#7>V*S
M:Q9$1YYHA")^RM"^?HD?H.P>O7F[0A%EUG:ZEHP:SG(9&6&]!FQHOOA14@OC
M>R7_>KT.IY'.*Y5A1#/P*N:QUT#6-< Y025B$3>IW]A?Q3YN!CP>7M2]\C!M
M(KP&V)0+=;#=-4./A)<[G A??6MTF#EFHDU9V7#O>*#\P J?>;_W64:&;FXO
MJK*]RA55&PM=_!D#_U(^Q_*H4[V*5L==YS0%DF'03IEG)N?_6EB-_ND[ILRG
M,(YK0"MR>CX')OB^S/ZALW:A&O%E?(+'25)66(0OU57>=\SL:N9S.: Z^FY$
MOJ+Y"$M6@QF^ $?D-D/JP-<E.!I YA?B-32]5RX46\%O>WR A\GM/+5SCST;
M\;"L8]6O(HFQYQ2\":J<JOK:*RM2$/1K1[0<>A*[B]1X==(]?B*:+Q7L<\6-
M.TB=56NS+K:OV)1F!<(WNVUXAAX+9//6)4_K+IS(LJU:]1XP8X'H8(Q/QS6
MP"V.J?-4:I^LE.5LUFXVX^>Y4W*DLKL1_ D>7X,J_0=0Q()G3$6SQ,_V%3FM
MYG=CI@8&Y0H#-O3XFV>E]C^EVYAMC54W8_W7<Y(U6,DI#Z(+]P1@"^7S'VO-
MPN 358*99V=OC^4?H 3S*P06VM'<G2D3>\U5:Q5)TT[UOD?U/QY$>]_"G,*7
MF1SB)'!\H9N=%P1A8DWNR;1(F2&R_072JGB/XBQ(K?3<53?'9WE#U\OGD4YM
MZTG)?TQR&02RWUGP-L @_*^>NL1IYX FSC=7SX)PDIC$[OB!93BUS87#IQ2>
M%^["-K5U=*:;@JRZD"\+SZ,+QC(.9_$8[('ZU6C)3PYB ^3A65P_T001[&/C
M0Q.K$0_T4O=TE6[=TE;GI7G3KBLU+#J]\Y$/3OY&RCMK/.5@^F)N%-GSP2(R
M*JX&TK^=FC,.?;L."GDJMLB#&2A8G'EA-2XVI\?5,"&P2?30*M(Z7FK]:_.4
MR8R7URY?]C4@S'ON#XZC9K+FX+YF"=C@92K%-F+R9"(UR$*:DJJ^8O>HP3TZ
ML6T+;/%;[6U87;(;C9?'=(Z1W_W<U)[WUB8E_:T&LY4>[DL@XW*<RH QQU7D
M6R1!>+8QVKX\?_MB,#(>MC>55$>YIQ5RZTOTK<2VBNQG5Y^/[1Y-]?38.6\;
M\0X[R,O)+^*'WK%-4*MX_Y@SG8,$VSO5<A&YM)/LK>?-B5-VZD>I'DG58M>Y
M+[ZD 0.Q,BOK349\S\==J]R;!$F3<YY;,J/6%00F3D[$A4)EA0H\)56BU,<$
M< -F3*+\/K.H]VN'75D%L*(*,81AJ=GTJ>/&V]JB0M8X,[)"B5R6#,(BC:#'
M@BE/.-Q8J&M%5#!$#4K41BV_5%7^*F[[\'^Z\_-_5WW%N[<#3@R9?FNX:",,
MZQHT6H]5B4Z14T4H:[HEZ=#\.':B6"^_P[F1B!WZ,UT:EBK.4 _GFE[S"MG<
M/5OYFN[6/'WZ2AHL^$$!B.+D/BE=I,/HNJWX?5S<%Z+:EJ1UVG1+RMOUC0;X
MVSH=[QD'*WFA?ST1VRAYGA"EO^5V+CJ:8A=;3/#*C3EQW  XQ+#X*.YMJE*C
M$>-[DXE?<9S[=U\S1V_&:>"D2G7X'&MU=MS[SIZ+4XE]"!$*K _<RI@XUBWL
M/SA:V(.X7C9E60$;^BU:L#A<+WLQV _>*<\!IOWS625/::/'Y.N4>5, 6;[?
M%7FYIVX[,9A4!4VT4.%:Y#NA8\2KFKEVR01UDQ1NY^O9;[Z5=L'>PTI5BRZ(
M=9UKBDJ'N+NY2U24#$5C"WD]-X$!%;PCISZC_/;?&X*U)I%IW&2QU2_N?7 F
MOV@\]W5G$D[AC4;ACFVV]\?L+X_W<N03[QCP7\"LD=J%<C2)[K53+8L7U1,\
M.9$7G>L=_\_Q*:*S%<:>-56J$;:4N9RX ZGV7['>6<G=&+5]F8&!(4$&>$U-
M0ZZ94-HWU?NSC"55AF3/+.:B@\+2#AY'4"H;YO"FRJ1;][P23CQHPQ;AA4I
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
M&RP(X:@> 7\1E8$LMAON_<"^P'Q'\KB2A\'O).I/5DB*/;GZJ9>9_(Q?+0<
MP$LPH&E DY\&7=7O^E*58/[JBPSM\);[9*H"L=8Y/ YJ]W_O_YM=0O(VU!T
M2&P3/[:%WO'GZZ@',3_/&O!Q!)ZJ]4S#S;.9/(=:9Z'HX"YYUHEX$FM7]<MV
MMI*&V]:!'T!NN])R)04F89VPIU)/-=T,C]*Q[[2$N]0JF^C?@8:4A#I A_).
MX[ZWS,H]7XUM=GO?).PW4UVRKAW=/BNO-/HEF'=/\L7@](.GH9:V?L.O%NLK
M/]=DA\C+HEN.ZYYN=D CV2A"RCOG.$ZGJUN^"&<+C+X4L)C'*SU, $@QKW(?
M>ZA.EPN(^:A[^9ZD2&DS^(]PXY.P3OX!WY%G6L!$+==%UDQ,P*OG]"=UD.*
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
M.WT@,U5QVGWC1F5@9M\+T-TI-\<"6FT8DG(VO)E?$0/4>_9G?-%4&?;742T
M)GD2[ID5#SIP4E@Q6#72-I:^P)E 'QPR(#\HJ;\R4?O7LEP%K\R\MALLZO>E
MPFK4ZS V26:Y+LS9RVN18C7U\3CX.H_%^HX/] #7/SL6K"VL=5Y+OE<6VML"
M\#N=B&&GBG3*F84W8N+-;2J,(:,S)S& %]??5]YK&%#>H(<&<K@]&'E=N>6@
M^7Y&'XR#CG*0/G]?CE=E"F)V&?KW_$%95R_>L'33M(D_@)_5\P4N5?0$+N_@
MRWS[6F*C''QJ_/56$F<J.NE/:R[=KIOX%N[L_NTRG%>DH7>S5PSR^2' ?E/E
MSH\R N=F2<1+5_O]PH@6[K:,L.]37,)\F-;*Z<+Z89C%EMRB,K2PDJE<8)84
M(CH\X _+9*<:F$5;^]9\5NM2_=ZAL.JU#KTTLM)XWJ*RUR1%$!:03Q@_#0_?
M<9O^*XZ:ZV$'O8G3VJ Z51[%UA:C52 ]#5_6.>PW.]4;7W)3I.@HL<\'Z%TG
M6]:)1+F^L%H*C2=/"E-U^0GX+0''H!(*^>"/1R51K]@]K&^H>XAK"K/W8=X&
M/U*M_XC]=\W%+LJHS3VK)O@E#Z@XV#5,0<5>41A%!U2/]3Y'NP"-2?(% SE(
MQW\T1KFI$[)\E_@A[%293.EW24M-#0UF(CHH^F?YXCDI-)\NI7\<YZ*4U4US
MD%Q@!)_3H&8%["*'%HV3Y&VS'F&V6*4K=\I=L8!V&V!R?4/2UB.'HUZ_WNJS
M7/</@V4AV:[O)H=V_@ ((F.PT_%>WAO:..YO-V=-(@&]&T_D H.NS.4%W;;=
M;0@W,8N9.%/:=FB.)?6U7[:\JOURG_:'D/UQ8X9A\9H/Q3SC*-'&? :\D^I8
M\UPH#JJ)^V%+=7BD_!^;Z&2QKJ;9X%MRTD0<9O?P]0_<;IM9A:[Z%+L,_TMY
M).["1K[4,J;N8/#5EH7=LP-;#2=^>Y,XY[\:AIV*YKI56-H$$*>-Y6U]ZZ*M
ME:H[7-K4 4>DWN55;+5 D@?"7MA[,EBBN!X1]B$/B&OHG3;)>M^VJ[& ,O]K
MX%)?PG7] DO9"6K(B?SF?I7N6@V)&J1N!@"PK?VK>'K-TYS6>3LH\V7B"#?0
MER69;K7+MU=HZ7>"^:$!G:(;V>)-@>4Z03%>AV:-M(R=2G2,7SJ*[M+L[3D\
M7*.]]6+W]\;TABX$HO?XR%;1HS7TH0&@S74S9F:UW-^.\!]:U6?<8,R/45 ]
MTT&XFR"#A\?D4 T61PVJL7(:='C<R_6Z(\ZZQ9O+A(!Z$\XAKJ<F0*J:ZJ>-
M_]GO]_^;_SPG>?,=J0;GNB&+;&;6[?DN/,VG-\<2\J]J.SY]_O;MC$-/&F>@
M,9T/65U09]A&#*[ @T#[=ZCQ6:&TSG@Z$9Y0LY>)O[-6TLAI2A#(6>[W1 ;9
M'AKJ[$;O9H;%37[%SCFV/28<TIX<PWLF9E"I37;4X1:QR%QNL<E3DNPA9HNO
MB5.O^TDL98H.&@Y)G?/B"N0[ \CS3 HUGY#7L]A*;L<++(!9&T[M2M!8WE(<
MQKAL+NX&TJ];?WP[T2T-K%W[SW 8]UFYX+O;^BZ ,U@.\4O=J%3:XOZBA,XK
M(7!U_0.:>(#P7J]0@!8^[1P]QS_\? 1B)6.X&_N9HF2M."2)#!Q$^OS05=2Q
M7VGZV<1K;UGJR"<[?9O9Z>S!?;LAY\:8E>TXOFDO1=.;^>A(YBFWL3R)$EMW
M48- =3G/&8\D=8'AAY@S_W*X^[G=\6O/1.GD"DOGJFZ%[ ",-<(LB[Z#\Z?P
MRW*'A7^H'(47$A%]YHB4W7,4/.9Z Y(C/"I+\%=GNJ&-XI;2JJ^-HBH1F?XE
M'$Q%*>18F.-^-DF.ZSPHBJ +BVZ,'+GHBQ,JGB*^EN![.9N!7%*MM/;N115]
M/RZW(HCDAK?[>7_P%72[L?KDBN %M5Q;P+LO3YRI-Z<E5C+-!U8?)G:W*U2J
M:.PQ:(_DLX9>?YYR.V'F</.]EAA1Z]P-;:R[>Z@2WN'O'V.A,2R=:CBVM2!A
M)SR^E;M_[R2^/@D=8^KSM738<IL_2.U]'E%_K +<-_CF DP( &DT)MW/FN9%
M(AY%?\:UR[Y5[:R_FHB\(BSNWOT144(<AD+R+X:,IRR+0P\#I!D5ADCF+G6R
M7+WRLB_J+@W;QR=VNS/VBM$&J47D$8UVF2G6.XRO'7@]EMR.=8K.3*=D*?A/
M)_C5$Y+O/F5I9V^48TU-*8#N@O-'SI>K@5U0Y=_A?P"LE64L%$_2'\ (T'=I
M\"S;9Y5$X'>F)HGCD\ 65G[M)KL47*#T->/AYIN7.K_Y"'W0R[>:Z2*'6T98
MWH7^D$TCC;^5.),ZYMUZ?JF8)*E[X0W](C.@/)NEL#2)!9S:84_N=T86-D_'
M#Z^,DG=!:+PV9Y4>5Y*.-K0A<.S>MHDSX>4,1W"6+\=8[Q\ ?1YZH^LN6W_.
MX,*OH?=PUJFV2KBGI>\6)>P-=6-D(U""\_!'D%I87D,?,YOSZ79(>3IO4Z34
MX:A(\JBO#P/82/CY![_+#)=L/;\HZ--!%F"4"[[:W<'.'IY-G0"9GT.\B"T!
MMRIXT@S#HRF@1R07-S6PZB2N.;F'!J"NEI-7+QA*! _+G,N3]7@F#<-V#)&<
MW.?EF!X.>Y.8([G@LJ<]1I?_WKB^89X&%&R^9H7>OQOJAOP)V0+IC.',EAK^
M^0,P&1..V J]2GB_>=FP9B'(Y%:T> O=\#O3KWZ"%&JT35?8Q(^1^79&<CK_
M%D=/V$V(K.OR]5LMT/#CH54QWC=*'T.LJH:@OKO=9&(H'%&T83Y1Z>94_-I9
MTK ?DG&U*PY5>UHNWD-*"%XM! 1P/WR(=.//;#:X%ZQDIQX1-?S7[T],:OX+
M(N;_2Z#2@4T<[C!/_<:;?*D=1?K0'&S_>);DL:8H2RV:_V5/-*G0A3-%L;$P
M.7.+3$(B/=PCA;N5VFXJNVKQF69@''<IE4NS",W=E=@40IH=:=9Z3ML7U.IB
MV?4\%#,><_%*KNEG]V[(X8(]88^O;HYO_/K(JW=[7@HIC0^WT_WSFRD\;V5G
M6%*2PZZ#!.">ILJ6KT2#[NR=(\G?E\=  ?XZIJ-=;AQX$"TI(W#7]41Y*0.E
MC4-8\X6^<YD\-8?D2>?D49Q;0WV09EU+^S'=SJ^-HR<'3U/?0OIB)#HO>'<O
M/I19K:6JO.KLD$7PP(/]&9)4FEJ!RU0J/289-Y_O=Q_P\0WN43\>QWC\;BB%
M3S/A*<[GD!=%)S[FF$]]PG\ 2&TS(P6# 0Z-7D"LRA#=T#7KF\,O<S^E+9E^
M"N97+ZE.M'CWM$&2RI!;;+4'Q#7@>:M"36VWLW.EL\ :-/*BL<X4OJ"S%M7!
MIMHG_K+$DF^U2!F? 8D#H//@8>G2";X*J60]35X]D90Y3?E.J85W7^MI6/BT
M(K365(X^1K6I"3 NX*^A7W<8'%?:?B8V215-K<M\TAPMO[R8VG.23JV*Z>H9
MN)IQ!7"4+L.ZSI.2)%H.+YNR@B>4R\^UN\=="5V)=/<.NHT:Y# :[ [D&7OI
MNH.$WB^T,C,+<G6]_CER*4@@]+O"-:4[ 1(#7NAS[0H,]][6QU+D'4JNL.($
MQ<>MJ#9SHBC;:8HOCHHW).NJ@\-;:]4LABYKW@F,:4[!*2RF_-'OS(5?HZX=
MTY@A;92R ^D?4 E<@</Q:W ^*",-<"ISP?J9[4QAT^#B^^A%J_,/B2A\K5@R
M0_0+J^K0NW*[^AZ;3]V@K\DQ*BR0^4APU+,TTR!MR*%6T8.NPUZWY@9N?DU-
M1.?'9H8*?"P.3 \N#R'C6=0RRUQ,!70BGB.\[,%R"K=Y-&.EE7HAIFV-UL7D
M[&MH?Y,QL)65)*YV-M#,FE]AT=$DV>#!&4@368$*B>;C 1Q9Z?PMQO!B3:K!
M'E.R/?^,'<*GX3-6%NQ$H\+:[KFOS(<RBN-V9F0\S+<<U86I!OZ=C1!Q2.).
MTP^^\P];&8Y$KUW\VU_SP./R=K^8GSP7H46?B;E@FRD_A%7O"_;J'>SLT'WQ
M>R;+'V>BET+2G&*@S'B=PN-5DU&O@'MFK_1<%T<L7M7$]]XIEVK^]+5$\W%%
M0N,R\XG+R?I?!TLX)K57;3YZI.>O$V#A&_>3P9<[VYU;8F5[-IYJB;]T>C4:
M+ CL9??K(A2MRSUFT"1,>K19,A70@FXT*YH,OY*ZK[5'"",/0_2W<#I=@FZC
M'V.S;[4"G^>XU?S.*7E(91_O3HIUIX/@]ZK;5/X (II]V=/DYEKHPO"Y9[J<
M;5J9@UI<R4)N?!YAJS>"[EAO=EOS5HY=_]2P1YOL%J#0SE%!J)3$?]E&&DVI
M5LG&UD**HVHDSJ*4I&IQ:HN(<>_:6-Z2J6)Z+<\@P?<W80,JMJ>FV&/:N4W=
MXVBWY:J]:^'@S4RQQV&\%@&B\#QO+4H-:]-]D-#]5M7X7R)-D_)D&0 Z_.<%
M?X/5C=-1X^%#B:8F6#W!B\$K+?M])5\0M3;+J]8+[LM'.<P%AX-L:Z=C<T\R
MRY_-]Z^<$*UP7[5(BNRSH6(Q+1\#-#BRLEFA(L*473S6"Y:VZI; LW$U)=6C
M;8N7^#*+5F)U8G<0BU%<D+FRR2,=6D+$H^"E:ZG>\XX>8,-!<)4&J$A1''82
M":)VIPP^)]L M1?N1IG6K4VOQ,:G!:8[(:6S"\&4HR+PK3Z)" =Z^=[K23NL
M>@"_VNX.9H;IJ/:[D>"(AQEM<ZO?B)&8R"<_02M$V(E@R.#7N; <M\@+1@NO
M>C6IH0ZF+9ZOK\2]JP&7#7SLA>26_>/,]]WHU_R*THN/RS5'*VIU\$SX\-4S
MEO&:)*0_'%KX?:HB5*.>)L7.U#/DTS_H/GQ-P),NP>"#7H&&PJ+TO'[&E8'4
MHMIOE-B)B0V6I?T7T]HP:^/*=2S@5^B>4\@? /F&UJ39\%V"*RB6W? 5\W1A
M#!$]!-R^Y;-M.+33LVDEA2$MQ@@:CEDL!J8RA9;/SJ&#?[0>EJ;K?;"S \4=
MX6ZJ)[R$9G9J"44[V!&CJT.W?BY@S73W-;$X"> U(5O"DCK;_P/][/\:L+M8
MJ%GAL:)^[)EI/<+?5U3'2[9=^-N^<EO) YB=]B%'I?7KO>*V-'PT]$Z!.9RE
MR?)^A;EEK[ ;3XUA?N((L_R*B-\2G5I8$$2:>//8I=/Q[,7AA QC_)@P=OLK
MVN$9L$BHDY_:H7[Z&F^L)A7-BP.,[NY/!6\?1A]E1&\!(7A8T@E!2+RM&T5Q
MSW*^1?O$-$@#RI+%UCG/^$M*I^O:@?4Z(5!RN&CWD =3!1GC/&)[3,#=)!'Z
M#-8*+=VQWF^:E"MV&(\ENJ:9OI!W6#84IL,CC%IW*D:Z-K;G_G8=,Z;G"<O2
ME=!L:5[FEA>M2D( /\P\:S/$S3=GNK=,4QK2VJ2OP9L-=E=N.\_X)*BFO%1R
MHZ;&A@V>)50_MC"Z'3@LG>Z)E$[M>[&_ F!M?I-%O^Q@&HT>)<_'8GQ+-^>$
MSB!%,:\1;L[@*&7LX$VTQ>")B/93>_N;$JG&\73J\E8V;;.*-D,8[<7\,K3W
M]@@CPCC@GFIA?5VB^+N.+Q*+5F=5]&3ZHTZ %PH#VZUM?E$PKL!2HEWX3F%_
MYQI]4^:5K9XKS2E=,RR#-S(+S_5WM_&Y5INP(T6=@FE2>H.,*WCS_0U9@+:#
M4S3=&MHR;:DV+M18?P]EO<=(S"9.'+3O\!F#O[+;$.U>BGI>CC3@!/%E(3Z,
M! JB<XF<<#7FJ/MC-7VE1;5Q)LUC^*7&6BW#J :LK*>695EP!-OUS_6 7V;$
M6V@[QFM:XX'SDA-^-6&\@M53@Y))]0,FFA$V(/C&Y[*^<\W=GX' /X"W%1MW
M]X2Z B>NQV?_RK)6N#2?^0<@+1N/Z)HGTV%)L-'#] A@&B0[8MY(3T>WGM-?
M*.V&P_YDOYQH[V6 0Y8_EM2TRQSI^L6)-^ZR6F+Y1_4^H'N[I):TH71R1U/(
M)6 / VL'ZY38WPDO;)ZM^0[C1!("A7IECRH;F*"XS\,G%78D/GZ+UN82<GS
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
MVA?.:TK>?;W3OKX'QKW1;/A8&YYAWVWUS >VXMB^Z^JB>9R^.^R_4$L#!!0
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
MU7C9:C3A\ !JM6XG%8X!CYFQPKVJY"ZJO:R4HXJEXE4ETB9EKA8*)[B36E6
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
M<>6S W;WWU_>[KS?V:K#T_U-<_/5#_#\'[4:.64ABZEB'AE,2'^<A!Z+CT7
MR*6(%?5)C30WMW8VFXWF-GF[V]C>;;XEEY])K7:P'S!%B3NFL63J0R51P]J[
MBKT;TH!]J Q%'%!5\YABKN(BK!!7A(J%,%HQGT5C$;(/H:@<O-K?-##O#X0W
M(5)-?#T]5#7)_V*[9*L1J3VB;PQIP/W)+OGIST2HO3X/F"1M=DNZ(J"AN;E'
M(NIY/!SMD@8/2:.^Q<,]XB:Q%/$NH8D2>[AGE&X4T'C$0Q@<W1&]D6)WJD9]
M/H*;,1^-T[T?! S0!,<6L$KG_3PSY><JT7>J1+*8#^>VA;4&!\[=F ^X@AOU
MK<;^YN!@?Q.'P4=T\.HYH\7<!,7DH2CY;/B$,/HI',AH;P$>^;5G5MZ;KJ3A
MUU]O:,QIJ'9#U"A_+X>U"^K$XCU+&)R@B7ERWNWU2>NSTSZ&?WU#TL4PS*%W
M'R@*>Z;H/A:>?R12\>$DOZE^RL%@P82W30W%#-I5XFG31B410_*1A@F-)V1[
MJTJT/=M08R[)3S^^:S8;>_O)06L4,Q; <ON;R8&^O;7WNDJ4(&I,%7$96$2P
M)T<Q\T#]LM'%74[8(-;;O,==MII5O _F$."$(:%'8B95;OQG"A U<F.'2:S&
M+/[B'(W%UG95#[C?O(])R$A3 ]9L(OHLA_TL6D4BT$"$(^LM7-)R_TRXY*BM
MY$C$41T&D&/FTUL:,[#R<23 J>#3C>D&9\)'HRR+"Z=+7HI; +XWD8H%H%;G
MH:L7O>(2G(8$LA=6+8)^*.(8I\_P#<9(=@.K^V ;T+$!D6(1$ 62J+F*GQ&-
MU03'Q@QNS2Q\8:85U_UX^5G$(PJ8CZEDY)"&UU72KK?JAM5>P$,N%4)ZPP@=
M 2G)!L O$W=,7!I1EZN)@2XG>L59K=$, S0W<8HP/,;G4M]$^#DH5@&/^O-6
M]E*CEAQ<(44(7)RG%_WTHIU>..E%;^["F9MUAA>[SYM6]S.,5V=.UVGUJB2"
M*"B!E8Q58R7&#.]:N2=CJD48GGDX(:#7S-@;_2"@'GQ-S:(O:&A$TL@H ,%
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
M-61*I^G%%D8&A"Q+MK'PZYZ]FD)>@U=\%7FE4_MB%R4#4Y:#>PRB;M<H7L
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
MP09W26):4M@!SO04O)M:DZD@ 'NWE-U[CI*W=:4&R9MJ.['*U]H2@S D95:
MNRC+MB-C5&B<GWPC\3PK5O#5L=;@W+*% "CC9RN@+7X0F0>/%4>V<HY;BSWG
MT>UFB&(FEK_#$OTV\@F[])WC&<%V?A,W?/#7M\L8>HU7C@WTK#O,3[7.2PNK
M ^>&D8#46:@^&\;@(D9T&<A82M<@#OSA05*,D8M\S\7 H1/Q3=_.*4W4OAFC
M+0YE$Q"8XF-+-55R/3ML201ZI8>VRBOS"W62)0::\S-N,(4L^!X)$!B@VF#!
M/4U]C-F)&W&P01,#4OR]%XOS%!FR3V%RF=&RLIM+#$W!C>/5#74I#9!6]299
M=233+CV(,:Z-VA7H=JDP5(?R#<6X9G$FK#D[7&NI04ZNQ2V</+0 !I>Z[;?*
MIG:%07)\2_!:K1C'TG<'A]^KW#6]',3')V]GPRBF8 &#&JQ)KJ;"SR%2B%92
MAZKGDDT;&<IL4N:C=.Z )PL7:S*81!3)V#7$LEESPQ/0FE0*QT4FA3:Y]&QE
M>.*H&X]MC+>6'QZ+(@00G1)?_.BAE$^AC5?]BH-AFCJ2_,.C@X^K*7AP0(-)
MBS*PC?,D^%3\7_F@2U$+IAL=KD,(.$VA!67"R89WSYQCDML8>-]I4[Z]DV51
M)//)<?]5/D;QG-K\)HX8,SJA+7.&V?DHMV5XY5P$3]39QNXTWM#SR;9D WZ%
M;R 5,;K7O/^-9=G2^ #BN(7=*S]X?IZ>6\<W=)$=2(YA.3!C)*CFY^U1[]GS
M1=[";.BB5JK.*;X-17SY9[Z4SUGM7&UH"_Z2!'#B@N^:NHJ$ GB4[&HJ](6I
M/^?41]M17IEP1QXQ>7\%!>;:&P Z-N6EDN+97'/#G8+SE"NG\!$L8:3#,8]'
MJGXE83J%-6R*8:92)/K%!Q:ET[@BY]%643U7Q\K307H3[N;TZ.#PHP*<-6[:
MRPV7OW412>L*#)BC-=%(ZPH,F*.C-H[4!0;AV<(LNC$>:X+16[7J$.E/Y+(T
MLPUO*#>;RCOU!MIYYM5-<_K_(>;[OV/$I;\#>>4C]O6'.S,-@04*B_YC.?'(
M(X=\J7\?^>@9KAY&K'UE_>L/<UAIX$>/ZYW@[42+M^92PQ@\T4=->*8Z><^P
M@-F2TPO_T6*MH5MXL(NO.\9= ,O2RN",&[S"']"0CJA@OV?M9U]8M5#.ESF;
M,=_2Q( 74&6^JBZ5B_"6)HFH<#6M[UU64JQMW,JP("*<C]H,X&#PE2;SPEUG
MK+7!#B7?\)Q]X"4)3_$OTPK4!WLI#^W2@STJ5&QCA.X?*?&]Z1+/_3D\4TC#
M-EC'.D/9%?H'6;-AHSC#WZ'\T.#<:./$\K"S7?P*HX3:AP>VS_?YY'\.?*ZV
M*\ZQ2XGTKCVXX^(:G 3BC*L'/Z.I>&C[Q?YV#]GHM[B+\HK3Q4(T8V?@M6,,
M.K6]8L?89I3GQ[.32%;K+L:-.]IQZ6)B$7L*8](V)=N]DUV4:H(4=Y%07F$7
MN7V@>)@7U$>$PPC4F>7!R@8C/%=ED]"UW2Q5F V$T H"NH/*;*\[)/=#>R'V
M->V';"?3CHIH?>!)Q)#EI:HO-<5LII.7(U4F;E/GJ(%)-N>?T7L:IK0\@M$L
MR[1L"*?@(V.2-TC(J)U,* /1S:B9)I'8"X+9(.8TP7LCAJ*H5:I>EMZ*&TI0
M2"O%Y1)C:?3[Z='IRY&ZKMVHV\P.2>;(%@XGF\B\?K#HS\[DVY/\GFI]K'5O
M<,>E57,#*%B-T@0]=WA;X69R[-O5CDM8]_-<6W>'9/#.IH2%7)_0B\VW#A2#
M](3$GI.MM/P4YTU%-6V\;:?379>Z+O365]XA*;R'A3JF)@;B'[GC5QX@JQAL
M\-(F_*0,AT(O/ZK!GG97O@L9#&U/(U9]U5>06DWNKL16AR2LD"816W*$4'GS
M'X<.NI[ZBW*SOG97QKJC7E.UW>4\#;,UZG^RL6>27<;6&T,Z+>Z0O'[.YK8%
MQN;;<1H$!#X&^#)8'B.0E2 \:,+&0*3[3JM5$UV\!(G&&&MA1_Q@F4DQMK6[
ML[+3';8::NTLWW)+1N[(D.(\HIW&\+5XH9W,J3WQB?,]=N81\!M0EN"4)E"P
M@,\*EXQ!Y%*_+\2V1\8.:>:C_2,E#);E_M*>RISTE<VO-"0I+%+Y;*"'UUYM
MOE"9%;_:ZFBC>-O=[XXFCLK3!!$!8/@]+O!.3T^L+7B6*F']RA15-I4YJO [
MGZ8^+-/N.YC=6^OV!4E^=2GBY&&\^+.(XS4G]EY]OB"9EU_+H$&^J':C=)(@
MX+):!J'>J\\7)'/-.5&_G1V2S8%]+T-Q^4CW(P_&+90>9SE+D._VTMJPW&;7
M+TP#N@CMU-;NR.@M4%^<,86IF?I> !80?(IHOE,^;#G=9J)^;>ZLS#01U%1K
M=_F&Q9_#;XH'DVU*/,:_$#Z>B%=EBR(ITK+Q^0]*Q+3:7D]X;8^,G=5,L:P!
M4]OFBYA>:ZG>S>Z.Y-Z!62SSG<*3<L)3V\LRGNH4T16I^?Y>F*PU1]-N;>V.
MC-Z#9F761AN/B+$TX+NH:'. P383!@?W\J)A7!WPBKKZP^DV>GRY\M:$9^]F
M=T=R']#N38-4Q'A&>$,*W_5G=(X7R0+??A3'_-@ _$@9AXLSQ]1Q,?J.]6IK
M@OB)B7EQ6M*$==?6=D=./]LQG?$_&5W@Q07P?884BA'@Q)XL9:BH^(+C[/X?
M;7QNW/QN2U(^Z6.$=F]OMV6E^2FNK;KC$L"\2<6G(5YP0T^6W00[75K?'3G^
M4CMM*P]7>.$]E(E8EUB^;FWMOHP:]J,V%5=KL[LO.<VQJK7Z[DCBHSV+(O<!
M".9J]?),\S*LU<$<G]RZ#_AI6; S\QJZB#+4R0N2:FE[:/6E,;%J]O*"Y*KY
M >NWLQ.RB;U9Z$T]A\!O98!"]F.=7#JT\60R^74?18(;>P&!/_\?4$L#!!0
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
M<R!T;<(WG&Z3B[E2-^;)B*3Z$T1R2FD>L6S,18E:T%17_HUR7G7KJ@;[>>T
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
M0U"%CE(!"2(\!"7H\>T;#ED/0>=U6_G< GH/P*OMH0(A04\>[FSLDM :_'P
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
M968N>&UL[+UK<^,XTB;Z_43L?^C3YS.GJZJO-?'.;LBW:L>Z2GYM5_?.?IF
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
M4+G6HJB,TT+Y<U4ED?FWH7RYJHYHN)RAK+JGGFAXXZ!,NJ>O $/_4 ;=TUA
MJ $H>^XI+/ (/I1']]06**("RJ%[6HP<TPGER3WU1>V;A=KC[FDN:N\NE"_W
M-!:%$Q;*E'OJ2K/#&\J;J_H)*+H%9=)5_409:H0RYZIN H%=07ET54&!P#V@
M/+JJH"@P0U#6W--,&H$34-;<4U# &#FH@]T]706**8!RZ)[6TH0Y@G+FGNK2
M $*#,N:JW@('2$,Y=4]YD>8-0EER3V51)(M"F7)/1U'FF^[9ZCL;.R0I(TD<
MB<< @T>4B,?Q K; .&/!"@F%:8&SF%O5&L6/],>TD*/=EBA?%&F@Y(-Q%$6:
M) EY$K)T1>@%R1^S69YLZPG?X1#':X%YJ4>F=QK#*I<'%^<MHE-:.'TC44T9
MWV):W*42WC1Z#L51J0I,\FQ!:/P??%RN0*/'L!P43A@P]2];^[)4)_!"VP/%
MB.5T<[#*$F(5+3T$UA>:\N#7P0M-]>_UT&.I@XX"]=8YQK&VY@*U1=WE4ZW7
M /GKWR72D;\ZS0?(6_^^$3W>&N_Q@1P)NS\S46V8">H6).%3R +\5R[*HQGQ
M+;3]C&UW0S<Z6W@@6EFR89@O\T00/.644.':IG@A;OXU%N"[)?[\0F"/K5C=
M_E9UX\MBG@5-).4S7>OL +4=%]7&_#5MJ)>)P0UA[!RQQ157*7['T1Q_XI2*
M/TYF&:9<FT@08SOLXP-ZEG!L?/QAK,JCA6,UWBZM/MZ6/ZT2TP8,RA;R8]=H
M!FA$ZE.9=+Z(+#.LMJGU%HRTN@4&<R+4^'?,\NM="V-R+?1TC=LS?<H'Q0.6
M+Y>(;H2*7[T@+AX37W$K((RQAHFC-9P%4Z8%/3YH>LI!T]?"*_["[UU^%I=Y
M==/9=#;[1./HDHO7?%-K-VKU,4#>>8)16HY]2TF4AYF<K*:V!LBY#,DC%B>=
MG I)$P,?_T+.<Y;Q,Y;*ORYK8^#STQ0W?U_:R 0!XLKA>B*_]Z*;&#W&"1=!
MS!3$0#J8(NR&I'-^PRWAE#7V,$#:@QB?H%1.2GV+[N8=H]F!:<?_:W_FB>>=
M/Z-_$[H5E3KK6=VH=_H$%&\Z>T% [;4!:CL.:LV[G1JHKD[I*;W'=!V'6"(%
MJF:V:&23-*H^SZ0SV]AV'-0.ZGY\'9YL\E\KFUNE_:P$*-X+?.(6(JKP"S8U
M'YQVI>>ZN<-8Z1]4_K>Y,P<Z=O%/BK&:'6B_T^#&N352;'-U:\OP0R[RHOA9
M44<E9M_.<!HNEHA^4RX'M-LI\#*H9+TF;K,C3R%BT&Y#\R+*2>FQ<=QC6 X$
M-7K"];K'>#D8=F=4ILHK^I3J(;"754[&_T+Q%8II :D[V^S^^7N,*:+A8G.#
MUSA1;'*]SL/P=9VN\HP5Q'Q0RA>@QS <?"X@9B5\Z?4T*T^ 5F.<-I>#GGQ;
M-^$%?LP:+E!5TT%I5BZ%NO'8Z!Y45NY1@MD=/X72''_!];$24%N[5,?SM @)
MI]ED%Z2\K6*4KYX^/F9#J[.'69T6S,H8G@&L8PV&.!IW@I6:D48W/]'RL+O&
MFB*.1;1"2"XQ!G9C$WVGL8M\0KP3I(4K8"2\UCN45 PKG80N<JUIFA(C-I.+
M$]'DLB8:GGKWN55:343/3AE=UG([%[)S.'/PX?,2<@Z('3N5M=WG^>P"WKQ?
M@:YWB;@ORS6'S2&C.C[NL4AS2\VJDPP;RF4W(,,0[)LS8@LS7P@,(.J4?'8T
MW5PX4'NZ.@&^0V?XU)-/-8#:;K4(0R=),W[2J;.DV<=#M #_SATIG1Q=G0X5
M0U4^#&IIS1$K9V03: 82 *[>*9$T8P9WDDM#%5H,RF4;E()SDMK.*U4W"TWP
M!B<%VI([KY/D&RIQ;%#R8:ATYV0=$%D@^FEA3LJUF8#+2*P3W74%)M4!^33T
M@HC)[0E!D[NW.\%1 M(JQ]C-?6HPBC*6W:J]SLIT:2!_AA[#\35@>ZP!*^7H
MU JUV#M4(9"E0]Y: .7V/%LIQ_)C@/8'AV[QE?K.MDJMJ+[N"ZN\]<(JYPNN
MB_(S#EA3I;ZY::(N,%[=8P2DJ;:U:9(N4_'("Y"BNL:G7Q%GDB0'7U/4&%$V
M-%$+Y_)\DD9GHK)VG"1(411&W7+L97D*LY/_^1UL60#-#1+U7H\H1?/>:U?<
MASA%-"97A.(0L?KDA>:&UNC\FK(5#KE&A2-IC8W&MN.@UGIEF)T>OB5)4AI&
MV6[PF@"^;@/0C^'K-@ I/R?+QS@MG:"OK;\&1F"=?2ZTS_'R.5[NH-1/)L?K
M;247-&LG1$M%M,N;#UCI!S( 1JY3WG\?IFH;CE2XPH"LVGLVK2.K*D^D73#L
M>*+,]MY2&R;<ZDZN#] %X,SM KOO"=S-Y=2%TEWE<0%$VLNV _M7[<(&^S]3
MY3$:NPBL7E>UT95O%\?2SZHV1Y/LZCX>K>/1.B>,UFGCM+6,UODIH#C">"DF
MG_\E%5+!VR7BA2$^09ABMF,-B.'1&=(6LD>?)H_W>8-XGW.TRN(U*JW'>Y+D
M#2%W2'L#9-U2M$0*7$3=[P8^>[?;,E]>[)CK:L/(8E;M.O<>CYX^\65BBW@E
MB4/7_FZ/*FE$7]+"/<J<BPO[V+V/W?L8MX]QNV- ^!BW^S%NN2Y  !>R2YR<
M6K3>1[2U77YRT\ IO]BIQK$-Q<<4IHDS,JHZ&4<FC;HW@ N2ULOI ?=O.,,L
M1 R-L^7#(3X<XL,ALG!(%W^@Y7#(SUS$*#\:^/& @SCEO.1%W:  I5&PP-%<
M! PX>_&ZJ$JB&1EI.;JM($DG\GR\Y)3C)=V?_B/+)8DX!>=BZZ/C*H^O'C!4
MMK9,.<NFLZ)8:@/-DG9V'96[';R=NM?E#8\]E8 N8^9A4)?WGK#KW8$JZO,J
M_-Z0+H/S((J:_EY>"9/=C0!/9S,QI \ Z#VX2"B.Y^GE<[A Z1R#SF%0'ZM<
M5 )R@1FGZU75O"/RU8T'IEMYGC4U'R/M@Y[#U]SF6.*]#593<O&(#4 /%SA0
M+@6HS[BY&%BJ2N/UCI-V_X16RL-4W=@JW=P$CZKMB2,ET8J6/GSMP]<^?.T<
M(T#EA^@J&R[R"+FC2:OKT$5N088A:6/8CS:,#[>5W7.>0U:':/K$G(KN]"&W
M+H1:#<HOQ$)U3G(;[PNBH3\Z*;'=[\X3><1.VQAV3EAA=_Z+<U;IQW=27DWJ
M02Z<L#U<GQJN3+N[M =>(9X&()/NO(+GD2W:''EDBZ5$7W/A+,MXEU\"%(;Y
M,D^$>A8040LAX)U6%"^$=*]QP*G5A;GH#6H+W=*&*@]J\: 6A9-WLA>H3WQ^
M;KC\?,'9.6*+JX0\B<V/;Q'E$JATL;<<Q39\9[]12O7Q"]]436%^:#<?RM?B
MX/*OO/ #+5<DY7*A#)XIVXZ+ZD%#?3OUY8@TI@@A@_KX,)H/H_DPFG.,Z.UA
MHG7@CC;<HG&@.6?2J=>%&-+'G')"F)5A%QR#WH_D_4@G[$?2LY<L^XI^#:H5
M#RA>$2I>GM1T#"E&L.4%:B2A@\NG>(^3;DJ]MOJ/O4I;_>%?7^^/U-C7/[CA
M[G&+FE-S/LDJT"48I65B\BTE42X!Z(/:]EXAK/KJE-YCNHY#+"FLIFIFBT;A
MC:\^SZ3US!K;CH-:^R^]E4?J)TSF%*T6<8@2*=6-;<=![7"OZ1W2TO2BGJRM
M9=]Q&F(1MA:7N,!]G>$T7"P1_:9T 4*[G0(O@WHV7Q.WV9&G<&Y"NPW-BX!*
MZ+%QW&-8#AIS7P$]QLO!L,F[HX\4[2^ 5W.LC$F"^]E-6\+9A#&<L3UY$RIY
M_%RKC]V8AH 6WN$U3G/,J5-2KVQKE^I2$[K;6LWP7&^-GCX6YF-A/A;F'".-
M1CS1LI]=8ZW97"):MJM+_.FHN:2%3CD27NLM$Q7#2FMS= %<F!O.F? )[# A
M6GY0I\)ZG4_4$PG&:EOASHBHSDE)6AM63@FM^;ODQ++D]%QB[HNR[ XD6@;J
M6&2XLX[029K=2;32B" X(\(P[9S(@^U.":D9H\0%%:&G4T?#J0?DU]![WQZ?
MYO%I)XQ/TW;E6H:H_1:(EZKY>1*P!<89E[8,Q8EN_F+#*+:@:B R?(;B*8/$
M? 331VGZHC-?K<J;$B5GY3ES+XZ9_?JSQL!>BR%\),I'HKP&[37H-ZM!MSXS
M+:O2'X,Y(=%3G"3%\R]\9E ZC_EZ!*BPO#5U:NAPMI1K/7J\ENVU[)/6LC]5
MFV&21M>[K5"ZV.! KW:#>&O"8[Z\INTU;:]I>TW;I*;=Y3:RK&N_?Q<D&#',
M DVM^G5'6_JS[,M>4SYE35F2M'R#^;;"4WZ=(!$5NBD$@^^[JS@5!F[YWS+M
ML<,(7LGWRJ]7?KWRZY5?K_QZY7>'A^]RF=K6?-\'JQ+B'CPA2E&:;0+RF,3S
M @VFZV0&CF9-1]8AQRO.IZPXMRKY\1D]Q\M\69L@+/V]?ZKX%E%25?=[[U3=
MB4<]).507OUFAQKI#-7\Z@Y%ON!")PZJA*T_J_,>'CR!=_0VH[<9O<WH'"/U
M-PUI./)'9_4J+E1GC";9C)-&#<4IDQTJ48XG^C2MAER+M<N"=PEYE] )NH3:
M*IBV/4$?@I#B*,X"-*>X^$';_:,8PIK/IY$&[^@Y94>/)$(Z.;NYPVN2K.-T
M?E[(QQ4*XX1_2%[>&=K'!'G1OW.6X>CF^FQZ)UX-55"E;FHBFBQ&ODH(H6I*
M5.T,D/& Z?*&H%1.0'T+$Y_F)W2XP)/M![;K/DDC;2GJ.E:/[.@3W1=I9]JD
M-?3POF'O&_:^X<Z4W8<X130FXO'N$+'Z6JG-#:W1^35E*QS&LQA'\I+R36W'
M0>UP!?"W)#45OZ]K9]47?888EJHPZD96Z7QY_:MJI4L;#DBONK*XHNF8:!XV
M*H<?,W@@JZ&UCR=J<7!#THBDUVF&Z2-*OTUG,\S%0QP8A?FC/%JT^MKF:LZI
M6@I9.2X=^)H):=-!:5;N877CL=$]Z.FC8_%J];$;E\8A/U.BZ1K3-)XOLA*+
MQRD4V_&>S.CNE^LTPL_W3VC5J#H8&=.C"4Z@F,L?7,\5'Q?+JSA+9<T&HU5Y
M%LD;CH5>G7/3(TP\PN0$$"; "OUR0Y+H&&\N\J946(F>BN@B?])+A,"/;I?X
M:O89$2W'W>@077!+RSD(1,,>(BUB-DXA=,R<*2[@PPS*J5J+=4Y&%6?A 5,J
M-["3(MGN&G!!%#NO&1P' 63,T$L69AAKAE4 N3+THH&Q+6;076)W73UJVRF<
M\-M ;>NJ6 HLE-WSPN1[/@WQ3F>V#LAB)JUPA4[MK>[^ \=W7>^9*X;>.3%V
M*;>(43JG5.E9H2!0HS,""3U96D3>G%,C.ZZC'J+6[GXU_2R8'%OES)T(<]D1
M.'[0J9NPN]>RTTWXLS-BZ5/NM#GR*7>64NY 4+@]DW;R['X,6,:)""A>Y31<
M((9%E:(Y1?OU@>;; 8:REG<'IL7GWYUR_IV'C/[K\J^<3^ Y6:Y(RO>'$K.B
M;#LNJ@<%*>YNL2/2F *-!>KCX7DG ,][H!CQ\V%S+VXH):13T7(XBIL0_^K&
M'O3F06\&8$>PTY)H76VCA>IH7!W.V5#J=2$:9Z%3EKU9.74A3.&=,]XY<\+.
M&8C68MLW\U. $4WC=,X"OO<"MD!T-U50IXQJ#&O>F&8BO!O&NV$4!LB$?SZ*
MDSR+U[@ ;G'AQ.SR.4QR+C17?..+&S//BE+JT]EE)6VWF-X+63O;U ^@,,<M
M?-&!&?R"ENHL)FBW4^#%U[KNYK([V@)-?H+&]G:IYY<@V6!<W/_3E=C52M=,
M8WOOJO-UN;T#R3E&;-[OI.T].EI/E#6MR3ES$[S 1/L.<<HKXNC^\1XR[R'S
M'K)>/61 ?=VVD^SG($YY*QQDZ!EK8Y;J>UMSC*D^[UUBWB5VT@Z#ZT+T'] S
MO)H@I(LWO+WA[0WO<=J17O_U^J^K^B_\[K&M O\2//*VLS@+5@G2?R99TMV:
M$JS\OM>"3UD+EKS#<8_6A:7)Q>&G=^_K,;+-#;TZKO=6;7G53=)HFBTPO26<
M%IS%M-BJ9^4.91HOV'8<SG)5X2UE0I2.:VJ]*B>L:CPPW<H(>%/S,=+N1J*'
M-_^\^??&S3]8W+7A\"2ZA]7H3%R=6\0YDZEQ30A<,7/*E#<GGCX2Z3TQWA/3
M[]O%1DP+VUZ:7TO<>SL?36UG:QX:Q=>]?^8-^F?*)+7K-.0B$J^QN #%_Y/[
M:4 =#!!VA_E1$(<9C@I,%3\A;C&=$;I$_-,%:H')B=3N;(#@AP7^\.[]QYKY
M4;PY"^S3W;)L>(/QC" :36<7_.0-^2?8^0+%8K:D[W+".O1.MW\MU[^6:YTB
MZR^D/L19@J>SZS2*UW&4HT2RBLIV]JG\,\X6=S@I<*-L$:\>B.+^[3#"Z7$V
MJ"=T\L2/]@;'>6V;@:(TTYG )W-#HIC,8E)Q=,XM"5;BDQ$W>&[11BC!K/&-
M4S.C^GC5&\K8@NFEP-9V*>>*I@#>*S9Z79-!:%1&E.H;N4[GP*^OOC"1&EY=
M5;2U&_7:G;V'I_.$4J&=%6?QV>;5^5Q<5OL;BQN#D+7J\U-^SN"?\E%A'Q7V
M46'GH\*G\X9IO6U#;-X,+DY+K29(8#J82_PT.TJ( 6_$:,$,<H7?N5BC1.*(
M?J3"J0AXNPWG EBA^YKI!41&!\4XA=?Z.K]4Y5_K<^GM1'>>L@3XEIW9)%94
MP5.I+S*$/NWXMK8M/P /GMWSPJ&Y 7GD@;-C[TV[OF>G"X[&[F09TLL P7-G
MKI\NYBG1!_ X=:WT9;]WNC'<><W1H[VU.?)H;UO/YIE$5]@&??\6\#;+."MH
M"E :!4)B8G[;IF&L7ZX*.)PU8+@6/1XJ_@:AXK?D"=/?R1+?DP31FR2<S#GS
M+/M4RECQ\_V&B8/M.@WEH.<NX_3!A@:EEA&IYR07[Z>O$,TV$IQ.4[/>:;SA
M9]"\.,7/^:$MH5#>R#)]TMQT2-,QT&H=F^RQ[A[K;I2RW3._DSG%A89R?+Y)
M-X5VW]/@9E"$U#E)$AQF\6.<<)5C.KO#(8[7PG91XV#!_2QSL].!)RDW2 XT
M8'B]G':#>,RX%@<WA+$74WO&=T16F9;;/]<IR>T'&)"_BC0E^!+08[P<>!2H
M1X%Z%*@#4+-31X$VF*M$QU1TC2^EHX!TTJ%=8K7##4]:7*>C@WI"/#+.A!I
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
MTRS4&\:;A=XL]&:A-PN]6>C-PK=@%L+N_A$:@MT4 -L6SD\!1E38JRS@9TW
M%HCBEB8.8"AK-@Z8%F_D>",'9!1<5O)TB^F]D*8SQ.*P $TD>29[MUUJ&[0:
MS9L(WD3P)H(W$;R)X$V$MV B=+@D;:O1/P=Q\:($US&?6^=2*@>QICH#J/!*
MLU>:04KS(7J\?'+E 3V+(&C*\!F7R%FLZU1O/>)@L9$9IE0<5L_:69"&1AO*
M8)K-L'BL'.^62>#*7Y9FUK6:6@\YT!Q\32DG;I[&_RG6K!)0=D>2Y(K0)T1U
M[<:V WK3T9N.WG3TIJ,W';WI^!9,QXYJXJC#3AV4Q!'A#$WK1B-*W#2O&-MV
ME_Q:1>16"6J=RZ@:PYJSI)D([ROQOA+8&XB5BQ-'XO+B%U6Q:^\PRV@L,./W
M&=^V7[GPLHDXRR9BO^OGJAG]BE,S55 ^714H<Z.3 Q]X\/FX11MQ.!5+=TCV
M'RC)"UZX0I OR[^UGION'_'>".^-\-X([XWPW@COC7@+W@CS=^>H'11FU*Q1
M^RIZ4,-MV_ ?@[]R1#-,DTTP*ZHJQ2@)XGV9K"!/41[%G)N6%G[[+UBS_[N2
MZ+T#WCL LO'^>RMF5ULI@Y8?-C*6M]B\Q>8M-F^Q>8O-6VQOP6)K?45:UL(_
MO O66].Q>'R1JZ-)/-O$Z3Q 85'-M65\K<7(MK3NUJ1Y;?N4M6U)U="]:R6-
M_GLG*)-*3IKK@K;I[]5EKRY[==FKRUY=]NKRZ:G+':]%VRIRP/+E$M%-0&9;
M]5!HBBN2Q&&,&9>[#,4)UQ@YN9P173VYY?#6E.5.]'F-^0UJS)/PKSQFA0A.
M9]/9[!.-HTLN;O/-YQ?GQ:&6#.UC@KPEH5G\'U1^JS+0T[EX@T= G46%G>U+
M)K<4+^-\64MPZU$,L'">8)26TU.52I7/;%-;$^20XDS@9X8HRAI'Q7,I)"V"
ME%7$NHA0'ROK[3H;('@+<2]7ZV E*XC_%WYN/3SA9(T_<^H6Q]NGTQ@6R/\G
M1O0J7M=.MVY?6^22O%9Z=?M:(O>!C]!Z>E]TMD7P$VE-[KZK 6(O0_*(19Z!
M_,22-#'P\2_D/&<966(J_[JLC8G/YV) 4=CMWX1NOU)[N*A;&B!EFN+FJ9 V
M,D% ML"4J_O<^CC,+E(0 ^E@BC!1;B_#= FGK+&' =)$ < ;@E(Y*?4MNKN]
M&,T.7%[\O_;:)O^/?[T4TQJ%4]VH=_J^H"4^VDRU"CNH[3BH-69K0*FNE,LI
MO<=T'8=8(@6J9K9H% IZ]7DFG=G&MN.@UKP<:+C M^Z<.QSB>"U\.I\H8;+X
M0D/K@2FO/72AS>W2'JTQ5^08MZHJ-4Y&M;2A77J3A#R)]SNN"#^\\L=LEB>O
M)U3&@U9GJWP=ODIR(SXIO)VO3T5H\\%IKSU\X!W&2O^@)^A9SG<G9NS /U;\
MDUN0:G:@_4Z#&^?62+'-U:T'H?R<+!_C%.WFM23K#B?B<:7"-]# #'R H?F3
MN!MWSXK!&86.9)5C3DK(*2I)N8O9MS.<AHLEHM^4&PS:[11X&?2L>$W<9D>>
MXM" =AN:EP?^?3TVCGL,R\$MIN(/:([?0UFHZ3(L#V)&]3;(ZQ[CY6#HW<V)
M"K,_XVRQ=<<TW2R@/NYPL7NG<ELJJ0U;TD'L\EF1]4J:E*8^L)=53EX^AG.%
M8EH7;@6VMDSYBN*PK# E)?=U$ZLT[F;H;+/[Y^\Q5_=HN-C<<%%.%%>>7N=A
M^+I.5WG&"F(^*&4?T&,8#CYCQ'):/D;Z>IJ5=TFK,4Z;RT'OT$^$1$]QDDS2
MZ)JK5>D\?DQP48CP>KGB!!\"+X^8U.EJE:?#U[LDM-<UL4YCMGUA3*W&JYH.
M2K-R"Z@;CXWN0?=HA<NZ(K3)";(#QE4E*&(L$RHC8]J=!4K6L<"OUX0>9$P"
MNECEX0XS+$[^ K+(;W.R$HN@#AN!^MA-"4()9I51\077@R%!;7WBE?W$*Y_]
MTYF11F %T<(TN,:: CE$M$ [+C&VBRPTA7V)NNU8^(3X?DD+)^5(>*UWUZL8
M5H9@7.1:T]5!C-C@+DY$4XB7J)LJXO0N<JNT!HF>_36ZE-IV 3KGDC7!A\\!
MRS#,FU,IQ7V>S_WD'[LDT/6N'O=EN>:P.614)YXS%FENJ5EUDF%#E5(-R# D
MV\ 9L869+P26DN.4?'8TW5PX4'NZ.@$^*&?XU)-/=?8<D"E#CR09.DF:,U:<
M.DN:?3Q$*S/<N2.EDZ.KTZ'RDS-R"8_$.2.;0#.0 #(9G1)),V9P)[G\V3FY
M;(-Z<4Y2VWFEZF:A"2[CI$!;<N=UDOQ?G)-\6!:7<[(.B"P0_41\)^7:3,!E
M)-:)[KH"RQ@ ^?S5O>T)R;YR;W>"HP3;Q=2KI^7F/C4811G+;M5>9V6M'"!_
MOSFS2WV!4NVSYO'$"I3:VVPPEN#Y7G;=Y)T9!->9LNNT,[9PH&HB=AT_YGAK
M4?3"KB_!&*MPQ*Q=D]$8@_+T)KM*MC&&]+,P[.HI9D[.KO5?@3Q_=(GG;B5/
MH0J *V\9M"^0">74%5VG2^52**].J3WMJLI"675%$^I0[Q?*JFN*D48R/91%
MUQ2B+HGU4)Y=TY&:"M5!^7)-5=+(I(*RZ(J2U)S7"N7(%15HK[ #RB= G0&N
M*#O''LC6=:Z@C+NB^_20?@J= J=4HI;/,$!Y=44G4L@YJ'#=GE\KCP_]&* ]
M55V?&H(-5O+9_\-".M3X9X3>^C-"YPM^]H9$4?H>T-PT41<8K^XQ M)4V]HT
M29?I(TJ@%-4U-DV0@^\_)<G!UQ3O.B@;&B"D)MI[FW-K #%\2P6P-4DJQ,:1
M'Y5=IV&21_RZWOI:Z\CO87@#3 /TC.+?M<^B:'>V0[!;CUM=7IYS>_*,#WK+
MEPXIWG=1MS1!RI"/_11X)O[G=[#=#FAND*CW>D0IFAL@ZI:2XG'ZES&-XU.A
MCCZ]GMVKE32\F'$?XA31F' K#H>(U1>":6YHC<ZO*5OA,)[%.)*^[-'8=AS4
M6G^/9F<';DF2/$BC;&>UO@X8_>5K_?M:_X9JX>]UD@>*4E;&BF2UK]L,X0"/
MIUSO7V( R'[V50*'F@7V0*IC;"M:F'W!V71VCMBB^D562[O-$+Z2G:]D5Q(\
MJDIV;ZN$4K/^2;2, +N\^;0<_70-@,?%J1P'GXS3-NE*X>YW+E.@(ZNJ:(MS
MV0..Y-+90\X-DU3F3D4SH)/'F=L%=M\3N"/3J0NEN\KC0JF,7K8=V-D/Y-4>
MBK/CF2J/0P,YM8?K;+^JC7$E(*_V )XM5K4Y8FY7]_$YR3XG^?1RDMO[ YVS
M/ #(U-YP+,Z9)GKYE8Z;'5WPYI"0DG,*GUL >]=2>.SCZUU)]K$ KW<EZ:<+
M2 _(JBO90*WA3Y8S"'X*^-&)\5(H/_POJ=#*>#O^@7G )P7S=<@ZYA5T^82M
M;(/N-/H<A#>8@U"C>WYY(3S7E>R(%,?I[#;/IJLL?O64L9&Q^F&G_-@Y-[*T
M*)=U,P&X1GS$-2H][/<DR1LPLI#V!LBJ7ZO)G&)<)NUFI5T^G8FYJ2.TW0A&
M\+UHB108[+K?>\=G3I_X@K%%O)+@,FM_MT>5%.$J:>$>9<[A)#V6U6-9>Z-\
M7Y9O.ON#9 <'+&M UW4;;&A\ZWV&5P>47_)_99LMM=<[<=NYPN[S1X;_RCEW
MM?PVS%'_'[8ZGY_CE- #LG<GZ)ZNL\W+:[ML(IFFSN,-@DR](O0.KRJ7ZG1V
MMS.4ZA46">\=1[/*>1-1I3"_*NWQZAWL5J-X9*Y'YN[<2.-!YLIU<@)0C%WB
MY-0PQAZ'JPU4D%N\3D7S3Q5]:PC5IW 1.".CJI-Q9-*H>P.X(&F]G!YPCZ,S
MS$+$T#A;'L3E05P>Q-4 !.GB=AH9G,NPFV2D^*U.;H.1P;PZQ[U&BO(RX@P;
M*=++MJ]XC' P,UB ,:+#M+$$EO%2/W-MBG(MF&O".(AW99Y9@-(H6.!H+A!#
M:(=,[ B=,O0U6R@JH^1Z0-4;!%1=[.2GQ$8>O#/Z!>^+J8OTZ6W#[8,'[/*Y
MNA[$.T*AR'/@"G&<B4?9CGBP\2D3D*+J];4O^&G_Y>+@/XY50YM;C=7P"WY)
M^*QLMM34(HR K2U3SHV.V3U*CE^W?46SI)U5:E_+Y\-FI0:>0+J,F8=!<3-[
MPCYQ4FX(8]-T_S=^MC0RU-!O(&[VCUJ(<TX!!8)T&8B'[1FY)XS]CA,9] ?<
MSRHW(I<_GJ?\#EJ@=(Y!IRNHCU4N?B_5P0O,.%VO'ED_(E_=>&"ZE:=44_,Q
MTC[HZ7K-S> EWEN256ZG0G@ /5S@0+D4H#[CYF)@J2K]*7><M/LGM%(>INK&
M5NG^0KB)7&Y/'"F)5K2T2G%1[X(K^RN*%\*O*Y0$(15"WQ&)Z5<)>1('STX)
MFLSX;-_A,$&,Q;.XVKQI](">):SV\0F/RO.HO)VG<CRH/* "1705%A=YA-SS
MI-65ZB*W(".+M#'Y1XM.A-N=SL"_M%:':'K+G *M]"&W+B#(#,HOQ,IU3G(;
M[PNBH8,Z*;'=[\Y.<NH.2D[;H'9.6&%W_HMS5NGA=U)>3>I!+IRP/5R?&NY0
MYS!TNKQ"O!5VH7(>L.L!NZ<'V-4,%CEWKNAR"0I2C@R#JX>C&!G8MG_WZ,C0
MN/9@0)9!BK\$* SS95Z\4A\0L=Y!>+C@ 9_WKMC$;A^Q!4DT0:5'(IXR$K%S
M]&.R%[#MB<E/CA<GZ2VB7"*5\;F6HUCEM 3FBZN#I)P29:Q7V79<5 \:F5;=
MUF=XQ@W9XYNY^G.[^"AT2-?GP"CW@\>!C\22*= NH#X^FNVCV5+WPZ ^7%#L
M$R;C1.LR&FW44V/#.^>/5Z\+,:0=.>4+-"O#+OCGO3O7NW-/SYUK3DD>J:?7
MA)YLV>_U:U#)?T#Q2CRYD,X[.KDT1K3ET=(FJ8/[*B1YFM%-J357_[%7F*L_
M_.OK_9&2_/H'-UQ7;E%S:HXT6;W^!*.T+!IU2TF42S*50&T-D,,/OS1"-*K&
M_Q-1BE+.=!A2OG.V_\E_7<>'FLPAE2V'Z+T$?$7/E-YCNA8OG]57SE<ULT4C
MFZ11]7DF+5C?V'8<U)IW'S90?5_>#Y\PF5.T6O#;.9%2W=AV'-3:G^/MI7Q(
MBV3#-;:UG-R>BCHYY:M;(E1YAM-PL43TF](S#NUV"KP,ZO!_3=QF1Y["[POM
M-C0O JRFQ\9QCV$YV)>9>@]EH:;+L#PTUE8 ]!@O!X/N[OT5\(I"97@8W,]N
M^BG.2M3,GKP)Q4B=B KI8Y>+"O!U5]C3PH-5Z1FR0ZJY@U7Z=Y;&%:$7)'_,
M9GG"C1%AA,LX@'09C(?"\R3<3!A"?DUKN^%"D1QPA]<XS07^42G[RK8^*.N#
MLCLO['B"LHTN!:)ES;O&6K/Q1K0L:9?XTU&Z20OM<"2\UMM)*H:5MN_HD 0P
MIZ SX '884*T7,I.Q9<[GZ@G@@K0]@DX(Z(Z)R5I;>0Y);3F[Y(3RYK6<]"Y
M+\JR.Y!HF3MCD>'..D(G:78G\58CGN&,",.T<R+'+3@EI&:,$A=4A)Y.'0T'
MH]T,3@^4]$#)TP-*0IWA(X5!PCWE=N]R,]G/G:!,=D_/7E94&CP \N9**KM^
M[-DR-/>WX!$EB!,7L 7&V0ZQV@V>JSFJ+8AN*[)\EODI@V.[5_V/4R%1-Q@Q
M?!?/%]ET]I65-2N.*-;H83^+]SI=\VU"Z.8SWS$T1@F[SU>K),;"B_D9BY?P
MTBAF^"O?"I2?9J*2WJ&B5I?,VW5,'WCU@5>I43+RV(XW&+W!Z)B.:O#,'JE-
M";Z9+2OI'X,Y(=%3G"3%BXV<?Y3.8RYW 2H<:AVU];;#VU+;N]'G]7>OOZNJ
M1"U%KN9_"L-<E(;<RE;IJI;H5;!.MNV0.,,W\1I'Q_0<4GOYO.(7/?["=\7#
M$T[6^#._3Q<R/LT,ZO \_!,C>L7;&N'_>##7^2:Y]%FZ3H,YSO<#_[*Y!7\Q
MFNN</Q%S?._'\G:ZM].]G>[M=&^G6[%2=93/\1KBQO3.D85_#=[((XT#&]'!
M1AHG-J%X UG_9?RLO[*U+/OEWK\+$N$K[.J :QS'EJ<-2(AWJ9VR2TU2H.D&
M\[V(IURC1J*V6>$DGZ31"Y\Y%O/!?WS =#F=;=]C."+3T&A6K;@Z<N_XKGI"
MB:!.8M8!>WG[V=O/WG[V]K.WG_L'UIJZ=T9J6&O=2+:UZ??!JH0[!T\5P#D@
MCTD\+XO8=M6QVXUN3?/N0I[7Q]^@/GY9+?HV&:!&#VULY^NVJFI)?D;/\3)?
MUE8.DO[>/U7\V%%25?=[[U3=B?=Z)74V7_UFAQKI#-7\Z@Y%P]:X1*LX0TG\
M'QQMU1[QTO:A_TUB@6GT=(&C+U)T?G,';ZY[<]U)<[VY:-;KDY@T'(FC<S@H
M+AS+JZ$N?% WXZ3Q!G?*6P*5*,=K&C2MAES+L\N"]\9Y;]R)>>-LI+F[XH(#
M&N,CA:M U>:18E*TS1O'?*<4AV1>?CX@,W%28DIQQ/]>% 'C_UL^Q)Z18.M,
MW X4'Z !5L5;C@N<B8)%NXDRY('ME497_+@6F/3>X%/V!G>VT*NZ?[LHURVF
M,T*7(OPUW0FJ0%F%7 X?XB5O,IW=\[^R&3_U^&^\0TPBV2L;IH<?U]SPVX1F
M%WP'*YY2Z><CWBOEO5).>J4,EFKM<^=X6][;\MZ6[V8E]7/WVS:E/@0AU\CC
M+$!SBHL?.F-/-(:T9JAHT^3MBE.V*R3PCLG9#=_5)%GSO7I>R,L5"N.$?TC^
M6C"TCPGRHG_GC!\F-]=GT[L[+N *JM1-#1!S3OCQQPWU*F+P0#*4W/ CD:(Y
MOA-G7QU9X$XF"2P#3-?\'J289>+/,!H!_0R0>8$?L^N4\;M,G$KWTZN[JX20
MVD5M:&J &/ D]3TKA=P6W*GE7-7.!!E< 9C.7F[KZY1?)6(!4'*.5OR/V::6
M,KVN)L!I.,SYYQHWH:J= 3*$E_^&H%2^:/4M3'R:_\H6)(FN"*WC\O(YQ(R=
M([;@(O-TBS9B+>[P7WE<+DLML8;&-,$>Z(SM]5!]H%R_7>#)=@FWDCU)(^V;
ML^M8/;*C3W1?I)UID];0PP!I7U.N<"_C+!/)J[L3[?BS=23J]?285X]Y]9C7
MSI3=AUR?I3'A%Q@.$:M_'+:YH34ZOZ9LA<-X%N.HUC@%M1T'M?9E8>L7V9(D
MV='*=E:C&6<B:4MF Z@;V<5>O]!4%!$Q><,!Z54_8Z]H.B::!\TV>&F\<X&-
MV?V*8A1-TS_X!A-N<2'!LDBS;O<!>;O">+(43]. 6'G5>D#*MUX-,9.7LQD.
MLWB-]X^7@/@!CF&9RQ)X4R7^"C 7DR>%-+2V2ODGOFU9^33.-+U\%FF\><P6
M8J*G,S'Q$A[ _>P6UCCP"4D(KVLR&(T["[*T@\X(I>1)6.7U?J\N0PS.XRZ.
MUX7+YD'L\DG2B*3%B?2(TF]3?AQQ<L7)5/A-E2J55E_;7!75"L0V_HRRG(H+
MGM,E9T39W#KM647,PV:E0DZIF@Y*LU+O4C<>&]V#:HRWE(081^R*DN56B,6A
MPQJN$' _RVC#5>D;YV0<;DD)$TW-;2,EP:YMK3YV<8%E]&*ZQC05[WV4^AVG
M4!SJ]V1&=[]<IQ%^OG]"JT;#V\B8=F=A06@FI&EW14OAG/*6'G]J'W]JG,Y#
MNUEQ#\N:#4:K\AZ3-QP+O8/>N7]R[9!K]3-A))96<&'=,Y9O36$)'_".'F/]
MYC/_U1P ',5$QSGK(F]*XX;HF1,N\B>]- C\J':)K^:8$-$*S(TV*Z/9*G>F
M\ 9P#Y$6\!&GLBW,G"DNU.TP**=JK=4Y&56<A0=,J<*\3HIDNVO !5'LO&9P
M&+ISI2T C#7CCITK;0';8@8=.G;7U5?3<JI^T]NHIJ6K8BF [W;/"X.:1A.>
MR9FM [*8=S>75EJ74WNKN__ \5W7>T5!>P698)=RBUB\<TJ5GA4*RJ]P1B"A
M)TN+V*!S:F3'==1+[K&[7PVID #LM#-W(LQE1^#Y 4[=A-V]EIUN0D/O+?KR
M*;Y\RNF53VE$5SBGP0 ?'6H-?G7NJ@>4>&V3T.F<$@Y;V'89&':O"C.+"JHS
M 63,M8=W.R1K #G^U1&.>ZA> )R!WUR:@>9J%T"N/KK$5=TMTUA=!*HIV'/%
M0?<L("$)RIQK>I F6AO*IFMJD69"%I1-5Y0AO603*'>NJ4 P4#Z4.Z=T'LW*
M9% >75%_6E8V@[+IELYC:.V<4F,,+I8KBDR]2B[)!X=Z US3771QX5 ^75-C
M#A72=ARYIK'4J=C0_-X]SW:J^/X8L(R$WP**5SD-%XAA\3#'G*)EYVJ^+8:V
M5M6W-6V^NN\;K.Y[OT#\!IV$A7,C^LK7G]X+\;G;20^[+:6G;'E$7*<QK"8Q
M77+JLLTY6:Y(RC>+,O]*V79<5 ^;K%T91E>$[F6!7Q]DN10O,7 1D; "[SA,
M$N?15#-%IB2HCT^=/8'4V:,SKSKR)GFV(%0\&U=J\+):5IJ]'>"L?*KA.N6;
M-)26Z-+I:I6G!XH1R^FF('![=TU*.U)8()S$XK:2\*7;?3C>E*4*%"V'H_BE
M/@&AO+['<!S\@9(<;\D1XO 9\WT,8J6AJT^4MI*J"KNUB9;*:)=/@V!V#17&
M&0P?;%V(QDGH%!K,K)RZ &WW@#X/Z#M!0%\;K7ZD(#]]57]DX#YMU7.DH#Y]
M?72,@+YN7LN1(OUT'6LC@_=UL\YM!ZA^"C"B(G#& J[[!$Q0U#4RI3.FM9"4
M/E$^%G7*L:C.SI8)_WP4)[E )A=85BZLF%T^ATG.A4:@!H6%DV?%<[/3V64E
M?=MMKZS$;W3L,<W*V:9^ $5PP\(7'9C!+VBIKM<([78*O P:4+SD5Q798%S<
MZ].5D"JE>[NQO0^\V0^\>3>U,3>UC?.7M#WG1NOOMG:K.><M!R\PT3YCG?*]
M.KI_O!_>^^&]'[X/AU /1IUM;]'/02SRRG&0H6?<&<$,&\V:ATB''.\;.F7?
MD.SE;_1<9AV<(THW,T*?$(V*O?\9I?D,A2*M,)T?T=2FJP%B_T!Y<9!,DH0\
MB9065E1X8IBN^3^+\J^%%[Z.6MV^5BW";;K.=;%9^<1.&,.09Q/E'8:E_R9&
MCR*)1:AA<";J>WE?P@F >&L/"Z6_&-##*@=?4XI#,D\%O(#3=L;OX%F<L9WP
MWN(4):7VL^)ZL6PMV@[C!J]E7N@TW9';FMWFD;RORYN<WN3T)N<12U#59Z1H
M+RVE:&1 KPZ*^%@A7U E9HQ(KU8&X$@!7IWUF)$BOKJIJ[9]>;\$CR6!P2I!
M:6=G'G X:]X\+7J\.^\-NO,NA,0)/'&:T?@Q%Z)WRT5E7V5R.KM,XGG,E4'A
MF.<[MKB+ZQQF'8<RP$P5 :6')!1XXL_\T@E1PO6&"T%*(NBJ8Z'5 ":*/Z!U
M$>7@H_[T[GU]IFAS0]L>O+K5%J#>N]T%(/?CP?NZP-56+CZC+%R(NCJ'OY?R
M/9T5/^IQK#^NU=FXPUE5:540*]Y34$ 0U8T'IEN)M&MJ/D;:!T4'>I^X]SF:
MQ=<U'"Y$=S./SJ^J<\HZAV9K7!,"5V^<\A^;$T^/.//N?^_^-^YQ[&#0C3<<
M8-+2&&/ P(@C8J3Q@Q:FM6V?ZZ]5WJD1CRMH,&O^5@UJO+?U;7I;BUCMX;$S
MH52\%BNDZ,\X6URG4;R.(RXO9;6#3_S7[)4GS=!H)GRN11VCZU0<K>)Y(G'0
M)L>/2+_PL4(Z&"",'_<S0I<B8%Q"QT6P\?7K28>D ;L8(.X.,WX^AWPIRLH(
M:73\;2:?0>W.ILH3/R(FE;:SS;Y)5=QB.WU;TCX7M2!*XZ<H1E/KX>[S0R;P
MSPO\X=W[CS52+%\P:)_N3B]&LP.'%_^O_=DG7A(](WRBIK,+;H*&_!/L?(%B
M,66UI,,[]$YW]>Z)E,S:W_NGJNXI[T.JY$]]]TA5\?9XS<U6^YL=:J0S5/=.
MNC,4F7>A-U#V$&<)MTWV=[9D%97M[%,I](P[G!3G-%O$JP>B4/PZC'!ZG T:
MI!%P.OXAKD04&;3'-ZX:I:W7V2Y?0AEHB%76MADD 0:DN\/7Q=2P[LY%J=^*
M)XI4\()NXPU32@73=5SI[Z\VU!>2KKG6CZ-"<EGQB-CA[\*_\X5D_\3-X(O>
MOW<:LU<:#D5YON)/HIVLMOXP1/B"/V#JM]46BZL81P_D 3V+8T"\/1RG<_'\
M<.V:29CK.IQ=WD&.!6!KNY1S UG4Y%!<Y'5-!J%1"=*I;^0ZG<.^6'3P\/#!
M&<(NGS$-8R:]W<#]+(.Z7GCLE#M0V=8N+*KV$'OMBCL[=L45_]\?G ]^&)97
MF/15FAX^,8XY^I*+=9W.JNK'NT+DIB>JZ3MNS193KG=AL:41Z"SK\U-^SN"?
M&A:(VIJAZMHHXF7L.BV/F#]Q/%]DNP+6VSOEEA_74M2H?0KLSW";<,WE\RJF
MJ(*?O(X%]3:^_=EAMR@6-EPWFZ/+4![\[<'?)<&C G_71ZQ(0^C()0[4_F9B
M4UMQ<5IJK7<"LYM=XJ<Y*$<,1+Y&F[,@=](XEZD@D3BBCUUR"NC>;L.YD)/0
M?<WTP#>CR[A0P#J<V5VR^YHTXF2<VD50?<3Q?=.T&G(LE=V4").%Y.7Q?F<V
MB155\%3*Q0^A3SN^K6W+#R!.X5X*E:6Y 451W4NMZGEVNH#7[4Z6(;T, -1T
MYOKI8IX2?;"X4]=*7_9[IQO#4&:A3^KV2=VGD]1M*1SNGN(">URE!2K;/2W$
MC #T%5<=:5YX?T ;X(2X4HBVY\ R<#9<JU;;/;H,9-RU<K6:>$$@E[^YQJ41
MP#*0^8^.,6\IX0&J25GT) X[/8#D!>B<N:)^VLI0A\Z+*PJH?O4$*(>NZ9V&
M<LN@[+NB1AJM-P)EWC65T6QRY7X6[)1=^BW@;99Q^59&@-(H$.X)?OOC-(R[
MOV/9<GAKI9DZT>>+-;W!8DWEJRM7<2INM.AL<X%1@FGM6Y$-34U4,R)/F/Y.
MEOB>)(C>).%DSE>"99_*#5#\?+]AXNBZ3D-Y*9HNX_3!A@:EENN$G(LEQ72%
M:+:19"$V->N=QAM^0,Y+!9PKFQ(*Y8TLT_>Z\*^42EG=9K=IM5XQQE<@\A6(
MC%*&5SD-%^*8F%-<J$_'YYMT4VCW/0UNAJWA$X:"*':'0QRO173O$R5,6O5&
MW=HJY><D27"8Q<5+A9OI;$^3NCX!N)]5;F[X-)X?FA-G7$*RG.+I;/_G.@VV
M_0 #\K>Y0$LTQ^R>Y/-%]@=*]D:YDBU%OR&Y*2=:F1@+Z#%>#OQ3,3Y;T&<+
M.L*!PE@C.H:2:WPIS63228-TB=4.]SEI<=W89=T0*K;)'^$4)+9QMQ%CCC6G
M4)3=SB(74B5\;IW/K7,V,0WF.79+R+1O9^G1. II-*JQ=!);=Y):NKHKG!%H
M'4V+M/8^.273O:NF/MO%9[OX;!?CJ"L0ML"N F0,4:7I'[9[7YI+RX'$72S#
MP3X$+%\N$=T$9!:@DD"^"L&*)'&!AUI1PH_2;%- I?!?>;PJ.HM$D*7 D <Y
MP[,\"9)XO4=/;5D"@L;Z)<(6M,P&%QZ ]@8!:!=<>"9I]$!(HG@-3MZJ?_B)
M?Y;+@V+&#XK1"/^=Y7&1,<4WW/:?UTM^OJ_+G%,E=$&KK]UP,K^8P&RH&]NE
M&R.&10X;G/CF'E8Y^(S$:]R8;KA07&XU R4'@!Y6.9C.9G&(8;0KVUJE^K92
MR42QFNQP)L\VQV6E7C\P >WI!D=2)&N+GJ?#T="/F]33][4P!&[BF0Q9HM'3
MPWCLPWB,T_D'7L1A$R:ROI&'&WFX$:P*M\:-1CI<&Z,#J[2^\IT+<^FL%=%3
M]9V*AO0OTA[9XI$M#B);3J!JM,6"\>U.PQ;^&^?"<BU9!SL=G(O0:3(,\JC;
MA33TMZHJNP'(H[T2'2UY!+B<@*S:*]G65EN#^C9'AY;TD!QM+<Q#<GJO&ZCG
MB',-WT$Q%XXP3N("OB]:[>KA9.*?+.;S7O[6$[BC/07.(#NZLN!A'6\0UG&6
M,WZR".#;\C%.J_*)6ZDY/Q2:PW+&G_@$";C<18X?R'E.J0#,/?#?65+W;*B%
M+PTV%==I2(6N4Q!X2S'C?RS0@M<">8]9-@EY [.3HO]-J].S7;/SA:#X.KU"
M,:U+S#<]K $F)9^^B5&)LI<CG_1Z]D?JMKJN!HW'72R#6*#KOYM*2>2IPTA6
M.=[)[=EF1\AY@AA3!/I!?8;A8DM/+&SWHI!L-$WO<,C/:C[U9XC%[&M*'AFF
M!=KX.EWE15W>O:IRS),RG&[MNWXV37S7U_,8'@C@ ^S&PM.P<Y@,=ER--JRM
M<<$Y$Q.TO\:D@[+IE%O2W?WD0N33>ZF]E_KTO-2=[3/G MB A%GC[@WG@MJ
M2=#R.S@7T#:ZRB;<>,Z%PWN;(3WOK^6HUH\!"O_*8U9\@ 79 HM7'3AW. IF
M?/,&:[&6(@Y3_G08@,D$#^4#'L&,4-&"X9?CM0MTV27*5NQK"*Y\..P-AL,F
M>[&8SLX77 GAPB1W^@.:&R#J,B2/&"M?TI T,?#Q[27]0 IF*=Z>Y)CMGB!"
M;%$UJZ.MW0B#!"$.UK.B59W;!>YW&MP,G.W\FCIYP*2AM0,AKOT5];"_H=XW
ML*,SA*L\"G12MMGJN-6+=),T$O]0^+U[^(*K,W3@V^)'NE![H^Z3HAC4;KZI
M_#I0O1<![>8#3#[ )'4<NA]@:KJW:OQI0.5CM*$AT%7N7% (OCI$UYAPRG7?
MA^"Z$(/I98F59IJ/,?D8DQ['/L9TS)*>ECC&@%(7;\K(8D>]6WXC"S7U8?2-
M+);4W1]B.4CT_KVHN!KE818\(1'9RC8!>4RJATK*I)UY^7D1OHBJ+<S_OL9I
MCOG_)D55UHP$VX#$=B"1\_.A99C(-EFV D7#\.5#1:<<*NKL=;DKA>L.B]F)
MT_DMIC-"EZ*$^G0GFQ)GC%9?][BZ?%[AD&^HAWC)FTQG]_RO;(9"\1L_Z6EV
MP;>;PHW?ST>\C]#[")WT$1KTFO6Y<[RGPGLJO*>BFP73XF*W;+HT%APX_#E)
MR).@O8!8121_S,0C$E6OWI[D:$^!,U4;NK+@;8]3MCVD,+7C1WPF6]FY(O2<
M6[1Q)G"S6_SL- 46:3 ZL E&#[Y^46V(US1>\DW'STRVP!%O=Q".J<V"-S6F
M5:T<1K1$6]?K["!??](XP]/93&8ZM1S%=IWU=2R4OAH:)6Q!NGA;UMNRIVK+
M>K/-FVV.F6UMKM(QAIG-*DDC#3S#[]^11I([Z4TC"QWW9=]8]LK\S.\-RDG/
MXC4.XI3QR2SP(,5[GGP?SH5W07APUT74_R@];M^WK4^FM^_;\LCTS(#WQYRR
M/Z:S17*QDQ^1_LP%MOD!,4B7,?,P:%;9GK!=O87I;/_'+_@XI5&_XT#\7.^.
MMKN8?5/$V"%=ABJ0N/OG[S$_W6FXV-S@-4Y@E1(!G8?AJRA&Q IB/B@?4P/T
M&(:#JN12<7&^GF98R4&=,4Z;RT%/0*[WXGB>7CZ'1>&9[?FLEDM('ZM<;"&_
M=US7NW]"*R7YZL;>H^H]JDYZ5+5+5$(NP+K:>OHGLXL3 =)K2!L]>W2.]"[*
MD>6EU2BWJ26F=;/0I%4Y%5ZPO+]=R,$T*/EP(\<Y>0>=2Z25<N:D@)L\MUV0
MXAZ6&*+ VHTZ^6BOC_:>7K17U\EG.1;T,9@3$CW%25($+_@T\ ,_YI,?(,9P
MQH(04;HIXAE+$?82 8Q=CW;A'Y.?M!7Q,4^S#_*<<I!'@D7ES/(K-U948:QO
M8>#3Q7U?ICFC1/Y]13.K3J)/U>:1N(>.?QZ$MJIZ0G21TS+[(B:R(FN0+H/P
M4&GZ-1"%+7ZA@2/X (/PIZH'5]MF$"JOERLDQ&(2AODR+_+'RS\5ZD4S!^#^
M=AV]I1*I#'+4MG&;2C?>H]J6KZA(4[W\!NKC0Q8^9"$U/=WWU,-DG( .GM'Z
MYC4VNG,NROKU( "UV"F?CAEY'(G/4;UFC:;$Z"(!WKWHW8N.N1?K#>&1I8OH
M6\DCS09I:S2/-#=$86"/+/.CH\%MV:G__EV0B%?!6+!$&=]#11("F95_#))]
M0<>VI?_:CF^MAE\W KUO_@WZYJ?9 E/Q7%[^HN;I)(VFJZ(D:#J_$>(C_B":
MWI!TSA7<Y8M79&5N=>.#6W5_G*%$I+?=+S#FAUN(FA[.:6@^..WJ)XP:.XR5
M_F$QXG$JR"JD_-7CK,?8<%7;X:G>UL^^R&6N0&@WIWB9S/B)\T^,Z%6\;LM8
M[1A.<?F%7^X/3SA9X\_<*%U(<X!:#N,4KQT7T^EU+(@CN32]1+.[<[P]\&]U
M6;@7_=WC[HETX6W?>WC.OJ91S(J2 #BZ? [%8RX%!$B'OZ8QK')Y(UZ"P"_U
M4HV[3[>[D[Q![L).8SG)-?!N[#J<D[P;6NQ1K'/#W=EV&&=Y5=VEK<=QEUOI
MW=IR%'<XU;QK.XUEE6L)C1*^&EI[*(^'\NPB%^.#\C2Z#XF^LVZTD!Z8+]4Y
M- ]@74B_KG&GH!AF1=L%=)!'TW@TS>FA:;IY?4>*NC%CSH\4D=/*W3A2.$XG
M\V^D@)V6KG(@M[\XQFU'9P:0ZU\=X[I=K ?([&^.,=O-.0=D^J-C3+>+5$*5
M$(M)#N:7N#778].]%&$4*,MCU;P,L#XVO:L=EV/5N-IQ.PI="^9FA[(\*H7+
M+.NCT+K:L>::C@6*K]C&]'\(PN)MB0#-N>)>G!S'Z/;*,QH\$DK)$Z>?_SG/
M^$!<$--Y6["_\0];RP+HB7*?'O &TP,F9S=W>$V2-1>+\I&7*Q06QX(<]0_M
M8X \D4(6+O#D041&"$J;B8/U,$?:F39I#3TL/XKPF.UK22J?0I U')#>+VC9
M]+B&NOD8:1\TW4%$*87X"N(^[ZZ<.[RJE/[I[);&:1BO4 +"&G8<SE7>KU,H
MYM#$F.[.@KGE?SV6XUPK<(A=QG*;:R4BL=-@CO,MQR9V&&HPGK^0-"QR^*4(
M1&5C#]3S0+V=\V%\0#V%JDMT5<O1 O2:]'WGH'F-ZT%:&(A.0;7,R*<+*+L>
MEA-D5#N'9 )SJ>=R\9A)CYG4X]AC)H]9,FB9.W?L]# #7<!UK@7Q35BJ8\52
M=O=-C!11:< 7-59TI1$G[$A!EA!/ANV0^*\!6R"*@U6"4A:P?+E$="/"NBPC
MX;> K,27 Q1F\9HK&6WCW]V^8BW8;8),']D^Y<AV=Y><$+ SQ$^C<[)<<<V_
M3&"C5#P2*$3Q;+-O4L';)D^(1M-"^-CE,[=_8B94WR^YXG'EWKXSUMGZ$\?S
M18:CR9H?!G-<_8+Y=1-*/:-VOSZJF;TB=(9C?H%C=ITJW^WI\4NCFK%/O&&V
M8T'UJ$Z/7QK5C$WW*++K-.-Z(8O#XO6_GN:M\7MCG;U>;PKI=\8Z6P/<%)I?
M=VMF&>P:W!_??4QP+T2,:YYK+LHA9KHE&>.:ZY=7[!#3K$^!_1E^;#X1'[5/
MQ#LL#$L1FZH>Z<Y1(KPJ'U0S/0PE'IQB'YS2 YTD_';-6/[R,95"9ECQX]$5
M(S6$6@_DP3@^;.S#QCYL?,Q2OY;;2$/)@]AB(XT^#ZX;C31T;<G3--+P=N_^
MRY$&OP>S^48:+^^J, /9=BUU?DA?%W#*7"MNU'N,":HANE8':5AO'G363DVQ
M;@B>0Z?EU#3K5O%P9P!1? =P32WD1%<MD&"-]8>-TOW@\#"I=A1[Q)1'3/41
MV;W\*^=T[U->6%'[_&&!TI=W&X[Z0K"TI^"T9EAH#T<G?F'*7/!SY0K%M!=0
M1R_$G<BZO#0DK<]\_>=/<F[=$_N6])W(ZGPAZ9IK*3CJ!Q/5]ONG-KONB;T^
M:2>R)G\47 ]VUM=__B3GUCVA;TF?QZWXHBH[[X_'<7@<A\=Q..E7[:9MOC5\
M1V\JXIC!'];M^[>&^.C7'G]K")%.YL:IPD:&,0_&"BH9RIE_JFB4 ?SOMF/"
M/P=QREOA($//F 4K2M9QH;//"'WY4\L8<.L/6(OY=J30QWA/.<8K>;7@ L\P
MI>(\%.+Q@)XOG\4!@L^XU,WB[ QSV<&3Z-\YRX2D36=BJY?'2Y*0)_$TSA&]
MIH>UZC@Z+^O]7&%^SJ/D%=T23Q*PUR"<\'F.YZDN)PV]AN!$(DIJ1AHZ.<2'
MP.#':1ZG\^I9)G[[3AY9@<MOQ2-DP"'X+U2:21J)Q]YU=QBLK^57/,J3KMK\
M>E*JUWD8OLJCH"5?H,Z#\&5N&QH8<9 9>+&9VJVOSA!6>=1CQTG*[W!(4E'3
MN1"9\X6PY:[3[<SS!A/&<,8:]3'S _O0HP\][GP0/O3H0X\^]-BG=\^4FF]W
M+P+8-\#8ZVF"&>'.B4(O<Z%C+CD7:>Y'.D".#>>"Q;W,!4CK=4XL8&>F,9O,
MN4/3!&<U$Z7C@7#N\.QI3O2M6^=V2U_2HN'7<>XP-30G_<0YG(/>&)8@TUX(
MY\ U?<T7;(M9B;7_$J PS)=Y@D06,1&0@8!W6E&\$,;J&@=\CAFWP9F8[)QB
MD7<<%BO,@C@%]FX5I1^"-%OQ_>%X\\B 4T8&='9Y3O:"]8G/SPV7HR\X.T=L
M<<7/[-]Q-,>W2%@<+]\F//*)MAQE*$X+I-3YX08JCVHHC[#^0W$G7M%D27GQ
M[K07*&N SE;Y*E%N8JY)RBFIW>2@MN.BVM@YU89ZF7B+;5UJQ5P!3!!C\2P.
M2S6([_;IC&LZ$AX-C.C,#'1@=5">CF?XBJN^@#.M<CB5B-L&WOOXQ# !P*--
MR6IN<*T^/NQZ*I7*%R3A5BG;HJ_#)!=51F\)+:[,+*/Q8YX)$A^(>(-05&<E
M25(6(L6B@).4/Y.#^W!TKXSH[7VBI:*,+NS>XB!TSC.O7A?2355V"G9@5G0[
MH1+L!1G:+*^^(>M<!*$-VSJVK=UU]@@ACQ Z/810'WJ?<P<1;"J,>0F<"UO"
M^._/?'8N,ME=()H8M1)-^S% (=^SK/B R-K$2;R,4U&N=R5*+0?\O"/E8K8,
MBG7X@JW85F<2?8CJE$-4DN35R5YFIK,+C%?W&-4&*8"M39"4),6)PW]Y?_!!
MIB +U,, :6<YXP<E8_PP?.1;2WQ$@##F:?P?'%U'?"_R6T,H""7RHJ"%XD@
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
MT..G[,[94MR]_RG$;3J[*E_D3N>B/J.XDRYBIGR(0+?[@+P=PSE ',DZ62_
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
M</ZN*A$ >CA%L-IL:$1@LBO;N@W%Z-HGOQ^>A1P*)W6-GC@0_<Z[B\W .N'
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
MN5%PNQ*_YN=EL6$95&<UO9$Z1L?U1FH?GMEOI/8!=[I=:(Y[?@S;IV:#4?:
M[+OP>K<:1U7,Q%:CVLC/W^Z)__Q,<]AVD);[K6F3-T#"M;7K@#)[0]>!V:F-
M,\(S/^9-_$,J['-QW4RKD EK-CK&S@S9Z;[ZR([V^ M((]/?L/4R!))<^X3D
MSU[D58&W3)]A[B;%<K=+A-P'294\Z&%#:7$9YV'"<KB'T&Q=]TUZB":PDYH&
M*=L2V,9"*C!$H"$M..17 $0$(C\%,E##PTSPW)D0/V8TX$!>1)ZH,7$=?A@I
MF-V-VA;!FFI5Q=:[J(VPENGQRUTT8I[3DR3SW3]BHPU%(]8/K 05C..+Q8=.
M2!@H0+45_G@XH&R8"^X.9CF7/@5;>OXY[A/%KD>P1ZRMIFR+)= B0(S\"N3\
MF*9.WC$5ACB7@$L&R<A&9.#PH8E2(!MS* >2H%])..)@ARQTL<7Y!8T'FCW%
MX')U+5L_L?2)KTBI7)SFPK:V?[]@>?&)%7^EQ3T-V3H=V*VW3F_BA1#CN%QM
M:EGK &:BGQ$W)UZ>;;:Q]CLW"](@KW>W "K_MB O?%FV1[L@LI+&@HC.>;W0
M8T_A.BX"61[WUV\=Y<[>!Y957\%S?;O]?D#,S8YV@GWUQK6S5[.RN(;X[M<,
M5^<-*Y:15C=\GC]X4FH7MEI!8MR=8; \AV3+,1>:-'RY#+9PW_:!E>M-,93Z
M5/D][(G&6/NN+-LH$(PQLM [A/T %*0%8T$J($0B61"%#MHZSE&6+X9FJS,E
MNZ0KFF4TDB71'H//<H?K$^T[*!Q_ :E6_0W;UJ>:<EW0M0@^C]T9L=\%A-(T
M_9#T"0= ) (^W]*1BSR6E$5!7)@^ YVIQT6PB_FT"5-CG?=?3)N]ZC'^ E(]
M^AMV-=WT(\#HBLG^('2E19[4](4/*E3%YZ)?08*8/AO=32C-F>_MJNUM5OE%
M %Q^$CTS&D!@J%7LU#2-NO4P@^'%EO]#7U.CQRP-B3/E>%_F<4KS_)+F81:+
M:_;G:<0AQOGMZHX/<7U':TP?\ TA54"?H&VIKQ&1%B21C$F @F#L-BS_2C!A
MR)BY<9A/*'5OBC3QGT>.DW=,Z<#3)BGG:0+[(5F/#1%AOD#:[^FKU>$TDL1/
M=8R<*=O'.&69J'DHZQA>TA"BIRA40K^G$=W*C"X]^J/Y-E(E%*FX6LTHPL$L
M;<SW] ?9TU24"--,A73'O]]PZC C!E$DMG2#A+#GE*^:-O$.*HXIE+FUI.RZ
MLL<FLME=Q&!C(_JCM3J?P<8/MMMR.57X"]CJ9A]3XHDS.?@0IW%!;^(GV-4J
M.!/C94+EMM9Y&);;4JQ7SK=0I/:?!_D9C@88WQ!2HO0)NK+=^L@P9MQJ_Z=8
M= GL+ %D8+TK:%7$[ )2@]7H2*#,!$M*.D%LF;FQF(.Z]V\:J[UD7HT=;!Z/
MR6KJZ5Q"D>5J(NAOM[4#R=7GJN[YCXQ%SW&2] B=SJM(T5,A8?T"C+A,,"/)
MT^([F\+,.1B]'S.6][F_JJ^9-WRB>=^F;PT@YF;\#AFO9OXZN.E,]+@6R,-B
M"+ X+XHL7I8%9")_9)\X(^!(C"6)K TM5HD]LHAN!RF<VO1L2RL'5,<_!"TX
MD.TM/0#4[!?XD5W\0#%CW/<5 O<I@*IO@WOA"F^8"7MKMVQ;-D^CP21UO_O4
M*JSNCP#KY]],;&=&(TJW\*=!0ZK:J!6K.D9<7XR?:+9DNJ$G>TN+V95PW47<
M#LTTE#.<6)0%5WF6T1LJARO*B*[VOMYC%D04SK?ZG/C1Y]%KQYYV;8OPGG#E
MNA= .@72/GWV<3XS;>9-S.!\*-]/09Q(X;Y@VRU+1=Z&#4LBFAW+#O)M3,YG
M=2JVY4H3CG:::)L]121Q&%A/A *1S(HXQ][BLF6W.[PJH$)']/<R+V2U5KB]
MM#?X?2LJ\8@\MB1/<"G 0U9MA%JRB6/B:3D5T_Q]Y89##&'CF0\<V.HW8&2Q
M-43(]=JK67KY._=%C$+O.DR=M>[N'+#MCAM&FN9\[I8*Q37K=@77(? ;7(9:
MQ=Y>F$;=>JK -KS:BK])N*1\/>_=,%.CRBP-E4NEV<9RLCU/HP/]WH>*CT55
MXQK!JX0&,0<:4*,10=0'>%K9"OW'42,'B9GAO+OXL7U8PR7E"AG&PAWEGQ-:
M17VWPQWN,@8E6EX@'+7@OUW]HXQWV\&*N4:;QT:M&8+A:E_+%%Y4!C[WO#J,
M4GI$%6-K0I&B%FA?58W-RCRS/3CNC@(ZY_)V1"W_S-*<)7$T%*2(;@>[X:]+
MS]D&N"XPU%F Q=Y/"5"\V, 5"NX:]VYTB+T?/]O\: EEQACO+E]DGYGICT54
M>06;2W*@:>N9)2O:PKFE-6&%*# 77<'FR/559G)<0!B&5<[48B0RTE#T(S["
M$76L7)/#B+.K8$P_&!'I(6IB"W(E"J#7V?O= M^);%P/19 5>O ]HN7\LH#5
MDBT;BK?U'%/;:S:'(FK57C(]?3N)IE5#870N1_8+86[ZO!-_X0:*DJ0RS_L,
M#WZDVQW+@NP%T!0O%T&6O7!S+E/[7J=5^/P=+,SY&EUA>[M/\^P1PI8;,0[(
ME8:;1XZQ"G/@GX_Y?S[]?E6>A$7]9^X&9V) &+KL\1W-1*EYSN:/HNJ/>+JS
MYKE]0I@P,RN G$2D64&N'<XU$_[YJ:_9Z@-I=6*A4VISOCS%1=-576<KLFMQ
M9[N'(T+J\A93PS;S Y'R>@%;T+^[2_^:?DPO']._\'\>?D=$:YR[T #]'&QW
M"5WPI][^]0\?WWY_^3N2P?E-+D["BPV%/[D]Y016D"*2 V(I)2]\1'@+$"VR
MY59U [?NN>M>;&+^*$U)%+SD'H+W[-I%YDZP)DY$=UFP#<*/%(I+=\T?7;]C
MS'Z['?L[V$"+_"JIC<1>&,>*U&*).<Y)0!(:B)TT/OPEJ!(??5$R';0+7)2%
MB NF61A#\;<4KLQ&9<Y=&/[GFJ8T@W')R2Z+MT$6)R\D9TE$RC3BS8">5K26
M7 HC4/S*&2)W]^1ZW]+#-]DW;V7S7+_S<IG'4<S;HS[4M5,,V>AX^5H]-_&]
M:FO@D\?-K&2;9AWMJPM3!H*:[@.\96B@@>75A,X865PW].>P:#H5F/ZE3P_C
M?*G&!Y;1>)W*@LWARR,W0GDBI\7]+0 UM=%JRHQ**9%TI&X5%A)68.#Z58W&
M@,)9ZJH1953"-@=%U1/1?B5&#(;+^$O85,GO:4CC)W!0A@Y>1I[&1T=VM>HP
MV+&+/#)VT4Q/$"OTFC;9$U^0)>4K$4K.DX0]BZ4EK 8O,AK%!;GQ=>@R)D5,
MDZ$N#RM7<7$S>#!Y] #^$+)JZ%7<UI\"%WT^6E%TC7?2)5%?AYS'4LG&>3&'
MBV"8O?X>U;1$Q?Q%,0P:9[5QS,)&%=3QS3EL%*/8N3V^?3>WVW235$'M=MWT
M49IZ?!=N:%0F\B)L'D>PY0:5), MEW6YN,->%Z X#[D+GXMLXOFC@-ASN<Y&
MTZ@C.C,0K!?SJ6#"CM,!4-)"*KS5I@!*&RSY5< ERK?TYL0IW"8SIUHF04:B
M_25%SKOP@'?%$>^6->^"%GP?!S:&]8+9',*)YJ4FQTW@,DZK$K35W<OB .:/
M09R*:_KB'LEU^B&(LZZ*KZ:;Q9@5 ^2MW^T5!',X#%UQFC*UB+95<-O1*=>/
M;HL-S<35HR#?D' 39&N]>I[^!A9G 67\#UB]-8=2)RX ,P.]KZYB[8>^,H]5
M5XXLI7BK,8_AOO,>K*-)U6:VAG6B5;P*V9*")]A_6MWS",9:'35EV_)000[J
MT7Z#/[B>C!FG5/?[,)!6-SQH0=_P,Q7^^$DF.KJ4,9%<U!@1$\E&)X-QE]_9
M?W9-<R/7EVW3\' XTZ)+FL5/W$[!WD!>9,)LW<?Y;P,YR51>04KX4-.VY75/
MF^R)^\PZIL1GAF&>!^FZJ&I%0W&LP7SB*J],EJ[3IAU*5TW<;S)Q)3YW2M<8
M\R;ZI_<CAK+?;=5[$^/-JE&P+4M[%.00!JEQX'U?6SW$N<37J8R=AG4BW/7C
ML@;=+)A";E,/CK.F +()/'>8GAM<G,?@\]5GB+RF[VE*5W&?OSSR-#HU=V>K
M#E)X/,6YV*-@61V)602?]?9VC'<"<>R%[8FUU.+#4L(TN>9,&6YW8JLF75=H
M^ESDWN>0"G#2GJMCYA/"&,DW@!Y]U,MJVH0J]<"2Q/<+!%/FDT.O?16G5.2I
M%&M82!_'67O!\N*>AFR=QO^DQ[<D4>^B_7@%&JXT1 D,1FLL]1(1SU@A(6TH
M!+ L"*#QM'S1D3,VB:WNTD2)6T<)I&Z,MMS5Y:MXL>*J[$&/RBF^A4TJ-=RZ
M]01.DKRX0!4< /"3OT>1UPS)0-\V_FJ[2]@+S3X&1;CA,]'![Y0/45K<KL2/
M>O9?OUVS<X,Z?<_SACI0@W.*3>Z8G6]JI*2&>O"0N, .:.' 68%);N<FA Z,
MSUO8H7,74QSD&TAZSO^!.SA/02+2H!=U*I&N,!O4N]CX7Q4:U@-F(&X$IC@1
M0$+W./Q$I6JQG4WB)4H.<QI^LV9/WT8TEB+(/^PEC__QM_,M32/8;_R0!.LC
MZ>K]75."3MJQ+24-,0+4G(I&/\_8*",L#?%%7+R<9S2X8-&Q_>C[&3' [6:L
M6P%.BP Q M2<CV\GQ]@8&YQ-)#_E]'9UE1?Q-BAZ-]ZZ'T).#8>-V1Y]3@W<
MEH8>=V98$H<OY-?J7]]U4'IXR]08YC NZ+FZJPC1&!E+^<=0Y'W))2/E?\=*
M\V";0<?VZ)&S'[WS3/: R"&BV8DF>K"8J1$PD<A.QL5G-/H)<LR(\H7W=,<'
M:!/D-.>0UEFPE4]V'7]CVT"GG].@Y2ZSG 8H7((SJ[W&YH.K[N3 ;1,!BPA<
MI 6,5,@6I'KA35Q51-7+*^.($<B2J"6<E,,T*GM&BDU0D$WP1,D2LJ1E#;Z(
M1&4F8@DVE,CTGW*/,8-'X8<-32 E%"DRD3GLQ5-R-8Q",R/#9,MO%\DWB@]Q
M'@8))!J\2J-+[B]T^? CCV+\^9XFK?OVDBZ1A E0ADS_!&B[]_3'^,ITF&5)
M3BXK"R"IRYQ]'_AWQW.?TK,(2>EMTWJH8$6XEI4J,Z6@[5Q4QCG+M-CE1%A
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
M$D?"&-^S((MN5Y=Q1D,N/?G%!K(Z!FEOO*+:"XC Q.&&K:\5@#IL"37T20W
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
M<-<$!#]13UK2Q"8QSZW][RA5._J<"5ONH@QMI\5V7X!VG)]]5MEC<=GZ(/9
M<F5:'U43C&EBXLF["BGKVW3>K!2*X1V'[_I<M+N1!W!@_[G>.>JQ68//8;;Q
MNMISM\GKQU -,Y$I<\:UDPB[B?$ZU70/Q]Z:YACVM>[8)>R#,<$9--<SA!M8
M$??I"([*S:D+J,8RY_-[!0LWLZN]/'%.'R;BXE3%E[!ILKEC)M?AG7.+3>%V
MDNZ"?NRMB1:[IW77%KL'QA2+;:QG&(LMB7NUV&-RTV&QE5CFWF)+6$B+K?3R
M5(L]2,2ZQ?8H;)IL[K+8&KQS+GH]J.2ETS).U_O:8R/IG VT.%%($93MWR21
MT/PD?38Q)!T"/9G/KOT2<T(^O<%IWLP,1;Q"YD?"#8S'J9?PI<@W2H:MRJEC
MI[L'Q02?VUB_$/D^*PBDJB@#MX\K%.1-A>/K!1$Q)#/417U]\QO:=$_AF)PK
M^QW-5G"?@O?_=IG$:Z'X@!1*"#[&6[ 'JP?^;;Z"G/(LE74$WP['.QEK?EH0
MU&08MC6ZPDEV>WSPF9,F;_Y*@^QKGX%%Y@;Q--K(\,C,2WVFZ(8+P?<AU:RA
M/E^11LOKG(5Q2)<>BB K+N'L]/2 TBX17W;] (PC/5B0!B]I 29[Q M28R82
M-,2 M&$OB !.+D4V;/<'K9:%P>3\,##"ON^'WM.(\GXM$RBRV;J372?![-'
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
M+69SK.W.0C<L["JN-? $?B:J6W(U%]7T?$U&)YQC"NR8."%=?0YIGM<%.^[
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
M_[A^VMWIF%MO_4VGQ2;.OMC-C@,]UMKN.!U&%\Y__(2V6>UWK3G_G,9L+!:
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
MV"CN;\SB%O$I45>Q:CATF/@SZWPX3,*GYV?6Y,1\'-$GFC!1]Z\*R9WO!OJ
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
M"9 E0-=G%;<1UC(]?GD4G\%:4&./&Q,A-[6@NH7(9S&H408/"I+78E"'1G'
M"O4_B!2?TP:MW](_GL?\&9X!;C)U%GD\$.;?[&A6O( 0%]R=@T2INX&+1H@6
MC!T.]U+R<T2\J^ (MY_66&9R7#P^*H.'QHJL]F3>!F?)H4>-F#@WL^.)D?,Y
M,0[RM-?0>9T0]YO&IY72:*10)TWS@K-1*I./&XR@<7E$L0=,]HCK4[0:L["T
M+=2D@CV_<PVSTM!Y%F)AB)TIYV,61/13L.TI-37V&%(]CIMSL)L:42((^MUK
MZ>4C4V6.,\FX3D.YJ@H26=! W S,SXLBBY=E(827[=-T)2]U!G_Y7(\@&6H5
M*7<3J;N*+YH($Q-UY)PSF'/%."F+^(D2NEK14-SD"UN(ZE(;XNIM3M[$:?71
M3\(X4Y+.+ V2OPL'VBM=[09,73[PMLZ]"'8Q9!JG4(N+._(E4JVM]&A*-.%5
MJT.0:WA6:W=].1NZ?3"WE;N2]3A-T;K/<S1I3E=JV.:T/@A@5C/[(%)KD[MA
M_IB9WV4-K;"50$KFU'@ET[N:T.O.\!HCY=*XL"U]##[3_"Z(HT^T;S+O?Q"O
M_$<-VE9F29$40-*7[/7QD*DSQIEL0+Y]T.""GM=EHX9W&\9?0,I*?\.V969/
MF>Q)^]V+4. RTV>=I7A"_:A!>[&!,X@ -![CYS:2[SW+,O8,D5!YN=NQ#.X6
M+?D20)1%*?Z_]KYM.7+<2/17$+$GUCT1U=[I&=MC[SZI)?6,]G2WM&JU'8YY
M<+!(5!5MBJ@E69+*7W^0 &]5(D@P<6/OV0=[U!*(3"0R$XE$7F@.MX+'M*30
M"6X?P=V L'66;@64!87OS0S2"^K/^\(IG36V153N/F3LN5>RX&)=BG8PJN>5
M>5]CGTWTH#A_#NFA >UVFL0A<#A!\YX-1ZO?W"?,$\?,'6&&9+:CV-_/5NP3
M7Q@H=L7,OA3[>Q>*W=J:_K]2[%,\QA!$-I87&G&E<Q1EDNM;8/V:>)-_H54E
M!1A>'T\J*HO2C8J>QC9FQ,F;"60O>5=F*"*DU1-%C-KUT:JN8UJV&,$96'35
MSJ5_9JY+9@$L@E-OGP\@Y\(Q)1^9JEU4D5WT1,F:<NU6T*937D*2@RB15<F*
ML2F3,1- S36%/^QH)KHJ5_7*X6<=.@?1DE8T!W.PUS:U+#0?H_J80"OG3[3:
ML?/6+ YF-M:Z: S\:U\TJF9*QP>%/&KCY1/#2!-?UUWG'_>1?"F0I3K+.BH
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
MT5/Q0Y06L@UC61X>18!*>5W;6%?I4YK0/&D>)(=L>:^ ,7:_%P1=<W\#EYO
M^8%;K4D-'RKLU=U<H6MVPK(L*LKNM_,;:"^47 :> F[N/XH>#%V-KX9\/4J!
MM;ZF9!^E"?RX8QF_'Y3-E45D\<I;1-VQ^TU[$6DG^XZP)RH+*S*Q_M_P.P07
M^P!&OU^I9.%XQV?QI<NHW-T5#-!)WA^_EE"Z\29_ @;+MQ=P,Y+A&>NR*J+X
MW/-A/A&^C--,@*ZU60N:1"WL4(6$L'O![!'8\.CORH+FR7_QPR'=' 50T9JF
M%-7D1[WHF.\Q!_$<.*XYL*L)##ZE#AO2H#.[#+_W!>-.Q M21>L#-Q+ZKG/H
M9-24E!4$@1>MXHDV_8U*<(!EAZ1VHJ4%/RFW:2[J^@J?7"[^M(XRF '*7Y;D
MF4*)OY)$?+*^@TA4NP#;7;1/$H)Q?-TW_;?D(N-')]S8GVAV7)UA"P,+*N,K
M.&XB8:@NN7&$4_PYK79UO>(-8U7.:G>>^(5PEJ>UZZ_NE0)=FTAYV.]E^W'X
M8]/18>2S  <[2EB9,4/Z2X$XBX&<<M--CL>F0*CF=6[IUX"AXI?,W0OO?YLF
M,IM-.=/WJ.M+SL3ON<EXE\*=1QU<,3X2]9(T.*-SQKB^%,H6X!()&!\]86L)
MV)@)V12/J]:!505X(AEG$3:#:-X4I6A(5=(M4/\Z2Q]K[_9HOIC6-TB%.3JW
M^PM%!YSTH =.>]:C-T,1T3Q,K>FHVG1<_YB65<GO,HH(M:GAR. TU;2N6::!
M1S( J!%>[!I]9,$Y*+HN['#AW!+KJ#N3'AX/6>/W*JKTGV)B89O7%G1MKY-R
M1_E'";Q4PY>Y[.9!=M&3F!A,7[Y,(A_7A0G,+4<JZW=+ YP/&FHT"&8U$R%P
M(F,N$J5Q3KN-\-FC)U:(NQ9]2:570#1-!?'=I7MARY.X)F^@*+I)WF=S.<+C
M.5%W-*P;N=SD34IJ?0KWPF&5Q\;\*="GB#XH7UD6<W#"9%VX73,J"T,6%7B.
MMG4(75-CM]8!4V%*SHY3!!\R&X0.**V*B@;:HCKQO34Y5< ))Z0*A.Q(J+75
M(L13!I5'M9!FNDOS)I13'#<JD5J$-;1]'XHHH9#.J+)V!P=@[-N3B5R+@@"6
M S"<-6N(+/Z%%DS6^-2.G;12TUS4>>?&UML,K*TFTKO[1=62@["\Z^K4=)CK
M_+E[5O<#?=4&KTBWNZ9GJ*CTMBO88;OC [<I/.0T)>@C"8P -'!J;*-4V+[[
M@E4TKKAA&V?</'ZBY%!2F+F@;!.BQ=,@7[/I_?=V_@GQA\?C@NYH7K:QIE"-
M M[8/F3L^1>:;&E3HN)BPS7H/8TS?F=)^>VD"4)5G(_6YT>>G];P<*U4ON9<
M,6?I/SGW"ZZN0Z!%'_JZ-;VH?5@^1WNN=ZKH)<@I9']?F?/-\FA4/G&EQHIC
M^_YS+]_W)IR%6E^A#<C1V9WG7%Q?DJ8%^8J\^^'M]W]:D1J#%6F1"^T^U-L!
MAB1KP%M-\^9X%QW!]:-]FU%\9^T6<S9_N-O+&2)V;BW&J\,Y$V0(P5YG)=XN
M*2I&&KV<C-+/\%)R!<9G+&,D^,\9K=_I+WK.VYLF"N,B283)&F4<)9I!^A%-
M^C,,W6K<0,!<B^QBXEI(^[#$-:./)J+I5MBU&[3(W6[YQ0>,O2;?#B)[MKDP
M#NMH&UDBKVH:BU>[J!*A1;%,J!.MR4O99I=/+_IYR=;A*[ GSW_%H)N7(!%<
M#&7! $C*$Y.7<O;:(RF3\N!Z55\;Y?#?PF;!?5(&,($[LR4IN% :F@*<;I.G
MUA6DDY@3X64>N-(TLX'&C:7V[H?O__2Z"3ID0-=63GFNLYO\KZ88SY!>= (
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
M>:A"5CK<<V[06"MF9?FN?5/W7H0+QO5F0V,(0KRC?$/X;FU5)2A0<UBY=4_
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
MK$7E]B9YD8E_"6_VOD8=3(=>^?<6[S#5W9TR _.YPY9N:;T&V8#F-@>5>).
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
MFAA ?QE(+K.T+^XTV,\%*P??CG2_L:R=Q-RN==$'A;RMR!; VQ0[Y'IP0B:
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
M9W#7J2.Z[:4BGA4N$$<4W$MY7#1<'DYIM_"D&KB '%%QA2GJ<$DXHMA*RAG
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
M_I:? B9YMJ?9OD9!DC%NBM+>#,(L#E8H7G)_!&,P>2I+L&BZ7EJ.;L\+TXE
M[Y QZI 9D^>C,\9UCM=K'#,AG?.S(!2\]PYL;9ERFL\79351!<V"=G;QV_UV
MWHGN?6'RMP NH,M /%SO3R1>]%7B!(!T&9P'_B#,/ZHS=;8_4N'IDGT,.5U?
MPO0Y&.I93$Q0LLPN7Z)5F"T1Z/P%];'*1;W(+Q!E=*F>$I<W'IANZ5FL:FZ5
M]FNFN*_1P;I1O^$.Z#$&#J13 .ICF8O*9KIC)-T_AQOIUI4WMDHWL_SB>B&C
M6$JTI*7W''O/L?<<>\^Q]QSWORH4>A+6U4M<D0M$C<&M- 97) 2RMW$;C,$5
M":G=!G#,8NK^UK:K!@0#NB(<]8*!F+6N2 -^-2EM!_=]L=KFMRNK1/.B5D#T
MKBP4W6-6 ^USQ:FO*R((JN**;&S$?(R\!HJ/^=",^>C?1V4]$N3G((RB8EVD
M7(\(,"\V$+!.[+,KE%$>'\'HU0T T1O47MQ'&[I\N(</]X "T[/#ZOK,INZ&
M+::O*#\/Z>HJQ<_\-$"WY=DC=0NT',5V8,MAUU3Z*)\3E3,?VFVZ[N[I<S"0
MP_[RKZ*$/-8;G+&U+7562ML.XXIZ0Q*5N(M!?;P#T#L O0/0.P"] ]#@JI >
MP%CKOG%.-FH,0'U]N0*X:B^83BJ\<U(SB*B-')/VB%I+1$W/4+2.FOT24+0L
M_TG0!A/^?J@F1"89P1X>IB2B _A5OJM*MI4Z7__CH,G7?_CG;_=OM/?W/Q@$
MOCP,MR^#EZ(PJS)\;PF."T&D/*CM2:""B@)JM6#FY!Z1IR1"@NINLF:V:.2.
MBOKS5%CN3=G6.+7WU4GU&>$E"3>K) I3\=N"JK;FJ=TMO6,:5.\+BMI:1G:S
M"'%7.+]EN'/X#&71:AV2/Z60'+3;P+QL]V1) #IHMZ%YX<&$>FR\[3$L!\H<
M34"/Z>+LT^=@($_!X9A\MSZD?C5P/[OI0BB?48IR>B!O1@2OHVOUL8O(\^BR
M._2$L@(QZJ342]O:I;K2$^YVQ@\\*UFCI_?D>$^.]^1X3X[WY/3'O-)VQEIF
MJPOB4%N16,LXGKI,=*P@W,+D<%@^S<:N3$A28]\52<D+AZJAO*G[]2"'K@9
M/'5QP'U\8"#&%9%HGKF:AOGI.(?U@$B'5X_R1@)@"NXG*FDX$Z:^5L :K\B?
M[,HATF:S:,"'[J>V]1>+-/(WO'TL4LM8)&VLUWHXTJ\!?RV9'00!72&4!S'*
MPR35S=I3C&(O+ E$B,_+\WEYWF\[);^M]TT9HK/8L".9TQ"F9]7!><_/S<,*
MH$IW9HLAO/_-^]_>BL/[WX[-"G?];S;-JI$B$-ZLZFI6M;YSK-M7GX(EQO%S
MDJ;E"S$)^U2V3-AT!V&)HV@:6M#A[%E<>A1YT\N;7M[TFI+I];G>W;,LOM[O
M[0H#AL<\MAO$FY@^_-&;7][\\N:7-[^\^34>\ZO+;6[= /OP?9"BD"(::)I:
M[SO:,ZI$W_;FDU'SZ0:Q18SF&\1C(K+E33D%;)57J@6J_BW2=3N,X"T_;_F-
MS_+S%M$$KW1O$7F+R%M$WB+R%I$-BZBSSF??'/H0;*K$FN Y)"3,\FV ']-D
M67Y1UQT%',VBX:1#D+>F3MP9I:C$]"5\2=;%NK$BA?!W\U0EF9RJIM^-4W7'
M'T(25*EZ]YL=:H02:OAUNL;A]#D8R+RM\TO_J*\)N#,3WM&;Z]Y<]^:Z-]>]
MN=X?\\T*!5;<[%/G&I;!*U"TI@Y/2*=<HNY./5%7SK?8^)CZ?-M$Y$8Z]1Z1
MZQBCH*NDVP?B/@81DW22!^&2H$K=TT7?)$-8A-R45'B<S2C.-CN[N4-/.'U*
MLN5Y.1-7892D[$/B0OS0/GV0%_^KH#D[4Z[/YG?\.6@)5?*F?41X\)&O4HR)
MG!)9.\>@40&)#XBL;W"8B674W**/3[,C.UJAV>X#NZ4YRV+MA=YU+(/LZ!-M
MBK0S;=(4/3PT[Z'Y\4#SJ@<W(I2%),%7F* HI,T5R-4-K='Y6T8W*$H6"8K%
MSYBHVIJG=G<Y[4A1/6'2U,XJ('T64B34"N2-[#Z&\>JZDKWB(6PX(+WR5SLD
M3>TZN-!C#O<(*5I/US4W?0X&<B[>X"S&V766(_(89G_.%PO$EC8_.$K+0GK$
M:/6US=624;7FZ_UM5=;W3 B;#DJS]/R1-[9*MXZEH]7'KI,716Q7QO,G1+)D
MN<IKVS5;\N5\CQ=D_\MU%J.7^^=PH[R">QG3N^8=*%_U.],7^<?Y]$K.(E&S
MP6B5GD'BAC[LP8<]O!6'#WO82<2'/;@;]B"Q9+&.]>B*/*3:-=;39UV1B?"6
MQ_"[=>JR4 -J6 L?G+H\X&$4:GO5E:@:U=FA[>9Q13#J12(W)%R1 ^0@E<'@
MKL1>R>0 #U< 2V/D;\<HI:$.F0"+8N0O@D V2(\@E2O[R<<NO^6YCQC>D4\Z
M3-N01!*Y<GX"GFQ3N&NGOA5@QGR+\,2I[Q7C^0TC?UX*<I^V<(JZ<G+H&&R@
MD,&I[Q<]5-#$03)R!;73BM&+C'5%9,"G,<5!:E._G;6A0UD4I"LWDXT,M)^G
M*@*?@2;-0 ,%!=I/._LAH#DC(R!H4Y!H%5+$*R8M27B8-FCZ&6 HBVEH8&I\
M.MJ)EWWRT;03BZ:]_*M@Z_0<KS<X8TM"&CXE;3M,%-T;DJ@D5 W4Q\<N.A"[
M^$!0R/;8]IY?6M)X5TG+X2A6I43(&_M(1A_)^$Y?]I&,1[:ENY&,>E<=UKK9
MG9.-VNA6*PI31Z9:+QCEQ>F<9'RA) ]3:<)4$$7-/DKU8X!"DB79D@8;1 *Z
M8FSKPE.R,2SB4FHR/"#E 2FH$39C$HJ3M,B3)U3&F"5Y@NCE2Y06; 5=L9.
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
M4'_<9$ J\]USFW+E4-9T4)JERU_>V"K==4C %28J0VX?E5'744C>Q<SW,N9
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
MBW<(OKS7U^R#*8<)F"_.V0F2L&D3>[8 S7L@ZC+"CPA)GQD1-.GC!9%:C7G
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
M8'I8^,2Z+A'3R[B6P5]Z*5L$/)@C"+,XB!,:\5=3 [8(T"M5KBO\9X"&(?!
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
M>L+:_'>2WGR]>[I>#=GU3T>H-9;E/+P7H.Y?Z^RE*[DXW/)B;+AB/T6>KXW
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
M$ZX^C(;2_0O['_-HP]_\'U!+ P04    " !C@E96:(S]'2US P"B:BX %
M &=N<F,R,#(R,3(S,5\Q,&LN:'1M[+UI<]M(E@#X>?M78#4],ZY80B; VZY2
MA"Q++DW;DE9254WOQD9% DB0*(, &P ELW_]OI<'#A(\18H@E3W3;8H @7SW
MF2]_'B1#7_LQ](/XEY-!DHP^O'___/Q\^MPX#:/^>Z/7Z[W_@?><\)L^1-0M
MW/C#BGQVJUFOM]_#57DC7G"\]-[B??RBO#4@GAT7[XRI?=H/G]ZS2_ ;T\P_
MUYN[A,9[+X@3$M@TO3]VRB"#>XWW__OMZX,]H$,B;_9^)#J\NO #N10O\+V
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
M*F]#N5\'AD9K[8!9KOO*@XOT*^!].G^QLWQ KU=K&>O!UUX[EMX,OHTS!$T
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
M3A3PC9>2#*$JB>TW0D@1<(J.!T#\'$Y!#&8F#*A@:]9TT*A+EF;>"GPCT_+
MV' ?/C)_XR9^*8&PA38@ '6HX4" 0("C3=!.5KL%>JG3,3OU]BQ'5TW' B/#
MZBQ3!T<*R.PZ/="Q3:H#3CK=KD4):70JI*2,G2JI1LLTS*9KZ@V[02'\@7BC
M2SI$I^T.HVG+Z(#&_DPQ &.D22$G<I0?,RZ.&.8G'9T8=1?)_1FET_U8 C2A
M*,MNBI["$VO $C'[";K8'HXQS249IKVPO[%,O#_K/VEERT:B1N 9BE#F">[$
MI( (D9CL6,!K%#"&^3<)1W;GO-6+!^,*^0^9?>;N*G7^%KH+@=#F 5$D*?LK
M/VPUPOH:/(#&\#>.<?X0LZ'%]]35V+#M#P,VMQQ+K;H<<WOZ(W9.Q&4<D?O+
M20Q\[=,3>'[Q&?R%A9>PO^,0'%OV)QM*_D&4AAE/S=LX<B;NI6Q0JOP+7%_X
MV_4PN,*WTM()Y!?7_R@.>)W^\9G\JOATKBWE7[%LCSO+5BA_EUU+E^EDMXI)
MIL4K\F_YDO<%7*2XP:X4AACL2I%/'W)/^4S,T?X U^3OY27Y-_Z^%-'Y_K@*
M8)>/R4[.LD6E#Q)7UD48[[&:1IF@%\O;;X:S!NYA-CK5PIE8U$MQ=A,&YZ.1
M[]FH:F=PEQM8_ &UU*8\5Q6)+O!<04C7Q-\,C$85831>!&->$:6C7.5;'.\)
MUG66NY4UQ&#*?$.=-?-[_/(S#5@]M^2QJ\IUX1'OBZM?QK[S9AOMG\H%VV2L
M;IN,%]FF&=R4S+"J&&[JJ^.FOC7<>'STQ2H]V+EYL:+;;<<(%'C@VVSYGPZ\
M[ <: 4]L9@8_=,B['G)=AHO .#DKF7_+G_7S^])7I'A,5[*6;I/8W9+^7I%8
MYVG3UQT$]-?!!1EY"?&/@G +83LF(I;M>CALTI5 =$P$NV3!]IVHC=QAO](M
M!/IW$74H7@FC3R3VXH,FI=A$O :@QT3A>XH93NK('2X'3<ILNUP94,=$MM7G
M1!\V)5>&\YB(>X=;%).CH%\>E&,B4?F@OZ,@V2+0#HJ$%8B'=\^F%UP]@C:\
M9(U!?%?5K7LN6LW$$/(E-[$R!G4^\8*=&*MUX-%S'"4?5L'.R=E*=Y:A:*XX
MJ-"^&DQZ4%F#8V+8(TII[(UY#R!;<DPL>_"IG+TQZD%GB8Z!A8\]A;4WSCZ,
M[-@QL/ QI>[VY^X>:E;PF#CX2%.6>V/J*F=#CXEO#S=5NS?6/*0L\#&QZM&D
MJ'?(NHK_JD?Z71]+73&2'X+CM/^.Q<V8HO+EERI5. Z5R =5OJAJA>!0B7\
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
MK**J@52=1Y6U5#409455#63_>6=E+54-I"J\J*RBJH$<,94/V9(ID_(2VAZ
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
MO>&X!CAK1AT8&I1NBX(%)XYA]7I&B35L=J0U;%84,##Q#0CT("KJ-2&8;3C
MVHX)UM!RFK3A-+L]6I*(Z/:DB];MF>FGJEK(IM-H& U;;]D]4$8V[>E=&^Q_
M@_0LD[:[!@069<%L1=WKNF%8E@$4LVP(]S!-HO>,'GAGAML$!YNV[6Y9W-!L
MI:Q84=/OMLQ>K]-IZ1"D0]S0:[=UJV41O6.1CEN'"-YMS28=P).IJ&2UD*\Z
M5D-O6V JFE8=-:K1UMVFT83 KPG_S-*I 3Y -<$AX/'3!D0[#C4<<)L)L)T)
MBL)JMT!%=#IFIUYBTEM-:0-;K8IF3H"M'.I8I@Y>"=#)=7J@ 9M4A["GT^U:
ME)#&K.4#7Z6BX#1:IF$V75-OV T*\0!XT5W2(3IM=QBA6D9G5MN!(4_-LE04
MH#&,]%-JYMNIF>^D9KZ3FOEN:N:[O3+TB&_B<!S9- 9LX=\#2AQ6-G"\IS/M
M;YKV,WZ ?S7MO_[C!ZE_9-\5K_X\TN)D@HARPR#18^_?](/6&"4?M2&)^E[P
M08.?8:Y?)[[7AS_Q@%0:?=38[2X9>O[D@_9?_QJ'R<=';TAC[88^:_?AD 3\
MRYK&OJYI,8T\]^2,K^3G]R-80^G+C7KA[?A'X5U3;_D(Z"':(*+N+R?_D83V
M2>&1:R]0O"Q;RLG9(XZKTD)7PRE7 'W\\WMRM@" 5\/>())O'U"O/TCPU3\^
M:G;HA]$'[3_J[#\?-8O8W_M1. X<??K2L^<D X2S_I]P7Q@!^WS0@C"@&0
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
MS[ZP7UWP'[T&8/#?V9::O7;1'I1M<1<H<:P\KQC%HK/%7"R0%0QGP0,9Q]P
MP%OYEHJ27FJP(?@N?X(O?_;@U<AJ < =HE ]>3&3O8 $MD=\U!+8QX<WXP!9
MAT0.!,C82^.4EW4UH_&._%2JOC7E?.S&YQ;1J-")6)I#XTO @\8^2R0*T =;
M:&'=I,_"M/\&GR6.01/B'Y):U'4I<T8#T=R$O_'01PV %5!S1*&OA>#(YS@D
M4\1C@"--CVC->A,+^S+,)9%%X+'Z[0^?3EB$^\YH:;^=/N!&UH[9QBZ GQ#D
M##[1.6#YH/QR?.AZT9 [Y.#%CPC>!*S+4GT.6S$9.UXBUK4LYKRVW>@<[P^C
M\PQ?5S[IO\)&MHHP7 5%P(6GI7D1(/&27A+11)*EX>;JT;P493S,VI%Y]B*<
M31>R7B">.N8_$SD/UV>I$/C*#B%P2WN,4;U'$69!0F31)R\<QQ  "PXM>ZM2
MC5M1C2Q&0OJ%8 @Y"3+*2#[*T9HID32$1_UIARQ+ 6K2G\1>+#K&T=E^HKI%
MT#:B]:1!S/4JIA'@$LOTI6_/<P_HV>F^T"C.9R(BL.%/R&;IRX6ESK%Y%LAW
M/IK-^JE1_ZP;P/"GQ9B^>O2JWHHVB.SC 823J5/^;EXM:6[8^M.IEI8#EL4H
M^*I7\>2G\J"+2P738U>FRKSLSR<2>8 R> <LVL^5SC7YWZXLYPJ25)9''H&
MI-\'/D!&0?Z@">^LD>1]"F7DB5TXJ$"2B0:T8WJ )79<M!+P\S*# C_YGW%
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
MO(N;9$J?E"G#.+4!^$Z:&5+F4 KUQ=)ZH'@"/0STC-,8<A%:9GK"7(=?B%/
M41OY@D?! GI/W$OEJ,$L72))CZMFF.7U'S3,L) !]4=B]I)%?$1MC6WH8,-4
MF(+*\!W1K)0O'!%N3MC^T!P+GG,N >RDH"&[1*+KGZ]I(FPVL^=4L@I+5T[/
M^R!<=3K4)I$%%HKM*7"\/CR<?63;R6C^%0Q0+W C L08\PU)C'^85Z"#2\!_
M)>*Q[*371;$!<L68]03Y$\%>2/\^@N]/4LO"U?:4MF7.P+3"8*N,J$LCH>MS
MDY^^X#7SM"X#C*-7M^>\@37/-'.\6%XW\0+.X:A!-(=_'F)W[ CD80CNA<X'
M\V0;FIW(XXZC:%<!"P>/3B)2IED+7/C,Y_&P(A%+1/L^BF;J2S#;C$=&L.P^
MHW7(9 C8!1@=YZ$%(D <CFCBL:,E8EQ?/QGDW-_,E6&#T*0K.S=07!XGHMOL
M@/HDB>#2#'A\!3]+&]^+6\+9(SB.:V(<3YJUGY7*7"X# P$]Q_^HL\36ELP$
ML+@-YVD=/2O_;)W)L.57'J=6,K>UFZ.N9I-=S^A'8[J"AX%&K]5CG9AIN F/
MQ;C>XP$N<8%]',:+:6"9BR;Y_BHL>K']4VRG6#0S[L^E;-B:&)PDJ)&I><F<
MR2!B$Z:0/YE7DL69:"D2;3P* Y%NXI:530=+6$6JV# JU8(<&\9&B@7A$^&G
M,>,H+]Z()%PV+F>X/D^*::HF4*>!P\@<?0L"UR'//*4Q#,\#1MG6Z<Q30]&;
M&VC+:&I.V%^;CON%OETBL+OFHRKP\C7R;;?.M"!W;K'PR,.N,BYEI.,>=HK-
M.>:,#P_D]R;<^N3LD>M%N.623_? GH9I41#, &[5"%G+K->__U'84S\:)RR?
M))\N5#]_<#XFF<GR<&GM]K@G**'.#<OS>*<-:T>2,V^XH\FW!A>:_T7V1<3=
M1J]7Y_OA!',C<7@R"^P4:VL2 ,ILR)3E(C[-Q1#8)@4B[=,H/RD#D%'/A)YE
MK(IPB.R-SH5=:J \4G@:))\:&T/\B^:T)"LF=X7Q,ZW%.YA3\C.>G%"H<X+#
M&G(^^,#+[/CVC]K)F?[S>[SYS"<3U''@"PP#3\<NL8!.H70$SG\8AZ/!!/4(
M4V68[9H!'01;"\9#BZN, <0_.I#-]7Q:&+T@6P]8-(&1 ?=*T_9>?"Z;D\?B
M#X05-W+S )?8WW7@0/XXO,3BE5D4L90-+*Y=$ZTE?+ A+$N:"W!>'!'VBEQ\
MB#8!G!\VMPY+LQ??[K0+8(L$#_%PGKR8)6:^?KW -$F?=QPPJ1*=1J(3IM@=
M,Z2(D+0Q-,MTL25>42L:H[P!!KG8LWX[FJ02X#'^&(TM4*\9][^[OKO]23Z3
M;>9$LH?V]U/MP1.15"Y5%8-7EN?H-.V&F@&?5PC?F;LG6U-SD5^:ZT2T23Q:
M49HL*DEF!V3(>PZG*)?5%7@Z6NG^LX<0TPDNUGSZ(;._C.:,B-/"/E,O.A\
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
M9W-V2Q6];3:^B1N%;$XK,Q!R/RSH1=;WSA/.]["(B30"/$-9Z&\(9<)39.'
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
MK85MBTXOZ8)M2-NR\(,@-3/8@6R""L1>XX"#NXDXN.\/.+@##NZC5+PY03L
M#I/;T64@F6,',^B= Y/ ##9P?DI1*D,'/W,W%"!/K,KN3$\OM:L<"7NOB:SI
MY2[1I3ASK:O\GH(BF.:<D3.PL7W9F5)<S:<J*Q!?=5HD-&$B=.)H, >AO7D5
MC/50[</@EW9GW,AWB<Q9+,(SV=-%:6T[B12 ,#G-$NQ ,G4N_DIBG FN+4L4
M\)O$$-\.+4(E13H*9>: 3[=JJK(AR+GWN(R3^4"M\)38T"SWI*N#RB^=UCJ8
M%-M\-="?9A33N$25L&>?DQ/! /\MB\2><G4JIEHR?G$7)2GB/D8@K1&D)5P-
M+HC8D$9L>3X*)VB!#32&4H_:JD[F.T4LD::.0$NP)* ?4U[3>2<5'=U;*8T<
M.Z=)Z\'00>PF3!G=&UU933H5R>@B8=80MD]Z@)HM_Q 5(NGW6"&/0J0O^4V$
M.#/*:U#T2=/C"$DO$*PN&PPDOL!WP$_*1R&?&^LR.VUCVGTLUQ&KQ5@ 3H(3
M#?H<JEPGT6DE8O=9;2>4&-.U<WB9=IH"L]/*H*].:R2GT 7' ?9U'HE2,D9N
MA[<BF>@I@^4?,T;D[DB9@UMC&?8?!REABQ::LHQ944F$6F9TL=V)7B>SR2?I
M59=7?237HZ37LQ I;=L(QW[@ZW5?/GKVX)8C*W08%OL='WYX6JI"8X*IK&R)
M(Y4P&('%8S70%2R5 =G^2C>=DIOP-=A# FK2;'/>?S)G&0L//;B?4// 9HSL
M*"X5Q&2=X@[PEY+<1LS-^_5)Z0PGO80[ES"5KAH1KK:@KF!:N?#Z-W A5%F!
M9(QX!:RR$!X+=)I_K7F-S=FN*Y=6Y?"OT K:6C,+BYUC!V T!R=T7%7$/5T&
MZ1B5]8O=Q%+XB)]DLR6WU_'E(Q#-N-A_XYA>$CWS*.UNJ;*CR519<D#B:OO8
MMJCD\A8097Z-394M#1*25G7[\1!383A5^XF%-JT+<TG- !Q1%'*Z(_;/U'W[
ME'=WK,^9VQ*KI^,%=^7RNJP-^?KK1]>_]P^Q PB8&Q;"\HQ#&NHB24I\?%PF
MQHHX^KJDIP6\1)2W9B='''Y>H91TC>HN(6(K77F0113[W49T*/5<-+A@)J[=
ML-9I-3T =\JI#.QAA8Y7:$T$Q!6GH6TNQ*6UZ!JL"<&&P$TDK799IDM@.U&)
M:UOP,W""=B <LTO(D#T+ARSY^7B]#SJ 7"&")<PCHH",5EB@:W?2Z.VTU*PD
M$+POU #[>OK +"=HJ#4:>&HT8KMZ.4$+PO9(NID[A7HJH$&E$+7^Z-%["CT_
MU)NO1"!/CIEIE@AV+B5R* :<Y!%R,4_]('&)PRJ]#!XQ#8T8KQ7W%5T9T;U
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
M6["Z:;;L$X5" 7AZ>$?R0H<ZZ3B>9U3GD# FJT7^Q$5/3-"Z^+?VE/L2TJH
MK"O$=H3KG(NKZOWM*KM0 (_:0<>D57@SJ.15/'E,.[)FRQ@\:"X>8-].7C)B
MFB'KPEN->_77\(YX_Z+D0%IXD?6C00<4=2N X>24T1@7"&NT[RF!=?!CI8IS
ML8I"1OXL?*&B6UN#4ZHRCI^# 8G]9>'FP3YEC$[,NKY("O]291[0\*>DK^D4
M*1'.Y$ QTS4P!\U5@T/SB&XQW_>0O#NQ0>YY5WXWWJ/A(P=DRJ6P5IE)(DJ;
M1A&VA<XCDR331XY/C@>^Q#/N5J,CXI0X-;Y\].S^K;FGF+]?MD"M"&'!3PW2
M^E\^N/_\IULT9[I^>%W0UG;<K^@85'RBYY>EH@W!Y_GTL3TX6S1T1OH&"QQ8
MR;),6MND %6$Z)M%Y'M8"]Q%%V<D#A(18H[(8J5,N_'P[R-BVZK3_1+'TG/S
MC8";< #"#FRI>;$8[L(1NG'OU+GM*:;-W@ ;R5.MAKD=S8!^$IMY6Q6BC,4#
M.R<PXW"63IGZRQ_FMF(>".D>%@LY^2?\2 _0$\OC^^6#9R</;AU.S@GP8KA=
MUI).F% E0A8!"YRRCP,(H5"ORSH?]9.$DX>$!$F,9=/$G+DKED<[W.\V?RA9
M^<G.R1]"?57%:=2O56*R$12,Q;%](U%G&J+JT[81"9@Z48<@&4&R.ZC0#K8D
M5 3&CJ-GZIM^Q@JKAU 8S_"3\@,WVL*1;4^)_^Y1ZCCO&<PO'YW\<@MI(N D
M2J?DN-GJ84/)*P!+\UGXL/OL_4U;5@++ODMTJ)L\BX+?P;AUS'1FG6E>@1?7
M.FVR2OM]G:XF-=Z22*:UZ">*D<RP>P(N^V!=7R*_;3N7*N/AP;I">^!V$C12
M1\2FH3^$WV-@_C[['0J9U'-YKEE0TF1L&9E3E8Q+$_HQ%?$-PQ_.=)\BB)$D
MKXK'(C3:XQ2X, 4'I5&*7#_<B ^B"<XJ-)'R&0E\] ZH!B@-F:Q^$P\.(\EE
MP=4NMCOA@WVS0<6.!C,ON$Z 4*FV \-Q@N7%BFH2!1PT<:VRJ)CNB1N9GK%3
M)@".IOAFPH6!YA=&@H!9MZ>9YYE.!#BSWE]8QBVET1,GQB^FU9;$D=)1X@R.
M)./Q\MS1*JERR(7D^9"6.=)Q22LKOG?2"X#J@7!_L,.$/[W(<$XT+5B$18J
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
M+<G^S*.,FNI,CDXG<S<4YJ0(D9B8L2J8174^>QS"2G9M3C;A\<5TML;IG(O
ML@$(R<B'US()\'!H@6& ?#XFK>=X*-'<XTH0?13TY(=EAD3N?:MJ/8ZUNT-"
M=\!,$%,CD=A:$ ;(4Z)2+TM,Z<*#C3OY^M[LY=WO[WY_>_9K>7IVD>UF][Z?
M3\LWWOOJSG??&V!GG*\)_OGF#!EEJ24'=_#+N]_<O36[]_771U]_=^<.[^71
M%R^*18@+"WS^XN+B^-25)*>_("5$KJ629_-S6!5AT(Y^HVX>Y*6KW=3?_^_<
M3,GPK]_AR^35!/N26_:;@PC],+4LNAIK07EJAC];P(C1,4C5J/IJAI RU$RH
M/#F>85AF&!="#7<-XD\$3!D2Q(L*G(GPAAC7G:UZYD_FKLI566FZ&)<^X=R6
M9HL?O09;R&F18!9/'CVX=4E]G-U1A%,\6=V?7]W^? B_G!6;W5\ IX'30+HN
M']F6?2J_H9U[G1:GCY_:^06E:,%O0*@HIHB5/I7^; \#((-<4D/77L6/\&['
MBI^<R]W_^<7M+TA$;L-@&_L94I/Z<X(X^/[N\;V_\'V"KPHXUNT?_L"S*RRA
M7S3Y3BO%?6L%Y#[7VROAN9XS?;.Q<OE7W_Q%"_A'BZ;OFW4XIC:O ?""SL/I
MXLO;\QG^[Q8O\G\&.\I+ML_?\%:W\?K7OI<._1O?YMOCK][LE>Z?OOT;W7T?
M;W3OWO'W;_9*SZ2E=O!>X9_MC__'EHK>>XS#P!7OWOXZ^-M??1?^Y]Z]6S]\
M<?5#XYGYD;&JPA?^Q#VJK^U^0YB=.W?B+QBRXSX1'FC?WO;;\(@N$F+?K T6
MZ-GQ[+^RTWQ55#EM_.M-6'QW6N9_[LM?RT"]Z7/2/GE?SWGOSEN.Y=V/8BQY
MA[ZO!WVF)'JDK5ZL9LZYX&.249-G60FPZ?"-WLP*W+M'!N#SL0+_#_G7^\>S
MYRAG'"S P0+<0 O VS[2;\NV_V,[_;,[[Q^UY2M0*.7%']GF;^+6?:"]]_5W
M?V3OO=T+OM\-$4_ _RZI9\I.R,=&)SN?W5\7D(KO#B?B&^V39QG:9*@;I-OU
M9Y_Z;KEW[U/?+7Q\@.BP)B&TFW%\/,_^/?LMJ[?M]D.LK7MW/\B$[S=<C'>"
MM,:V[H3P^:18MB2(NW^6WGS<_TDM:;,7Z.?]("/_S0<9>3?40B#WPKB3/MPF
M^"U\*(0>V>*#3 4<A0\[%9&( 3T)T_,0_FDYS_!O)&4_S2:S]\&'_=4GUO)U
MX,/^< 7]<?YT\2.1SU$[=DY$M-MV;]*J(Q6TDV+3,_CH[NW;WU&9-!.@3Z.?
M^6=S;A_YAN&'X6/,.:II+\ \?BX6[18PH[NW[WQS'$[7LFE97&R)#N/3?8\R
MGSUI!2"K[T(8N(+U;Q6*C'_?N9? 6GXE";=P=Q1.!40H%#BKDAN7\P+554'$
MS>Y\__W7#&\KEN'YW0"-PGON0;Y]ERAWPC^^!3\8O7FV(11X>#PSI38JHM5=
M4FD;(YA5F&JCH9HG2AH"&R3&%0=^=&/W[X9A/@92WSM4\M[9-B][K6M;8]J3
M,IB2[:LB >]PE8\1:%6#[FYZH!?-=GE6'$_<":!-K(^?LO"!JJ%.=X-FWY>>
M"!$<0F?SDKAI$DV\?]4&80]?MF<Y>GE6]@7QGGU@N,X;%+7?PZ,,TJ.7;/#Q
M^IW:X/MWY>C[;JG1W8$2SF</U328(!TOFM2?]G]5PMG.M\KO7>"RZ^Z-[H[-
M-73:(U,!#HBV(>[V<)?[SU[R5W_O\^,Y%#LW88F%Y<[KD+C\L'OA] BC1KT\
M!N'>Q>Q5^!]"B<!-W80'>M$T%7<9' ^?:61[<.^V/PN3<I]Z(XI:M^5E&S#=
MLJ.['';=>R<*<JG*L.5XFHE9%#9;H)!OE /#Q/S7MM*C\0G ^;C^Q+)F$AT)
M1UDBLHUFG/;*P_*\[)3.Z[?P^GVWU5O1IJ!%[SG@1::697P)X[TNA9]2.L]
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
MK]U.AY&UUH:U*)(/>@D8%_EOAA^$I9O^-:W<IP#F]),1'$K-<?4FG*CEDCS
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
MV.0#)9 '5X \+:DEE<=9:%*G9J=D]S^Q''710U@DLL^JP1I]4AZ)6U,9*V.
MC8&'%F[?%Z?Q'6FW4P9AG+F@U9I&WPVMN&U'Z]F(.)V)FC!GJMY!8^3T9XNH
M.!3-E'!,Q$++FC@=0(ECB9 ?)F[2!V^8S9Y:X;'I<]^7-\])/V54-=!KX@F;
M-95C7;:QD7#>BI%N SX=3HVCG:"M7'N25H7Q\S!1'D@?Q8RX:P&S4@:12AHC
M[(3,P3H2 *7VB.YT$69"^L$C!QX66$/%7)=9486]U$:IY3LTXX^;\<,2*]NU
M\(5Q+D@8D,_*C:NG^EF9VQ&!MB5:!NZ85C\C2Y"UD>U._ \_RT158E?$@]24
MC&7\W? &A'"PXM_(%(4+_M5=\:]IO<XMEK\F=B(M&LMC;$?O]U='@'?I)2]C
M4I] ODVVRUCI?)@%9NR=]-[K++DQ<Z/EQT4@;ZT_XG5SC8RGK[3N:9=AU[)4
M#CPEZ^+SERO?#GQ)B).WZ8,Y T2'N>ZGFELLX*>DP*H$P ?W>G"6;7"I;T/4
M5;]"$6ZYTZSHF,2+I])?/P5X .7:E:]1O>[/#,@*FICC65KU'3@>23Y742;X
MC R+P4M*;8K#;BQK 6?6P^O%K$K6,_$;=V21<X/<7^K0$=A@AJQ0:RLV=?C#
M?D>F=Z*R+FE"MWD'9=K4*J1 B@E"#_*.%KZ>)L/+^%#P4"M'XQ]/1">*7P_4
MXZ!>#]T=AP3U.,I,BQ)Y 5<>J3':SIMBB4#/ ?9<XDV)0U0!H/5_%*[& 9 3
M]JI\/?SE ,<_A P?@CQ[AI\*D;%B:W2!2(P\S8106K<?)HBQ'H9'9]NI#.DK
MR@#7HU8*48\2E#LDE"OB-%MY,FGY%+._DFO,SBEAY4094#!_><Q* *PW)/S)
M""6AY3==1,&KA1U X+]LR<>@>+('%PQ"S%53E8U_[_FXQA:7,R<N9#V393V+
M&/65+%=9G_8(Z9(>KO?Q,OWP&_KF <B? >JULW'D)([A>2VR88Z_(;I"[,X
M.S1*2@Q9=S9-=P!9I,\P#<TS'!X;@P(%<YZ) >8+F"[)OUTR&7,_85,3,K;U
MK9$M;B6'P9W8NH/)3?7EHMB7+2 M#FHM4$SQO"L(>LL;.=9?BK]%" ,^<3 .
M.>0%\!V1$O#H#FC,K(3WR5^FC D);<<QF0OCW",''4C%8#9H,/AQ=.@CIIX^
MF'..@#)PFV)8SU-]&J;=I 3J:_I79+[R5-ISQ-TT\0IQHQ&'$5]D;5M*2! ^
MVN[F;\00,8EUFFY?)NW%+H0#57,Q"'QX8XC5MLR9*4G$KFIY<0(_\OQ+:#/!
M?6)A0J0TYP__VEP4RHL(C2:Y)EZ8/S!@>0QAB'0U77<T5+)H<AVH7O=8B\4
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
M2[A L,I-6W;K^6Q9GI=5,*NXFCF\5"@&^SUG,(-3BZ$[+/XDJ8]UH-UUQ%3
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
M.6R/I7''LM?O[*]J.+5)4??G]9<AW4!U)ELK[U>J'):MMT;?JGV:,RI7T=$
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
M;S!@P<X)(^6K",XP3>)PS,\X.Z?H$5$QJ"%?:=,ZDL'<5!U (2I-X 8/H/D
M0UQB D&.>I!NR?IG'+(+$P# )@.M!\'$L;G!SH;=TT+OZU<@$7!)^9OS*!FA
M,:8 C8F"1,*8J DJ 04I 25\P9Z6(/X#<AO,A:<EM@2YM[:6G&-3T00@D<-E
MF4Y=DAEER3>>HA$!,#8B@T6$H'G 3?1 /8&'*$P"3S>XM",3TCM!9OK8,@K%
MB<\3I*Z@32%0QH2;4:00/?G.:<KO H@L6B"KA&0[0E:A5>(\X>&K, OC19$+
MFE,4AHJ"*]9RQYK^3DO(+A07Q@;4 QE'P>0,)*U1,-').DVB<DU:"W!QPC(0
M? $1,7<,0"A,F(F,PX:5P<"IOD[3B"\3X##>Q:S@ILO,L.%I4.)*W!CQD05A
M)-+$=6%?!7+0@E1PK2>/B<HR,=841[ M(_*BF;,'.!9G>.2$_GI#,'=$A@F8
M?@[W)(2/U>%X$[#'F8H6UVXT!3*AB8'<"FIWJZS(80:#L2,X&AJ&8S]S(4N9
MTK*&)^M%M.=6RQ^=&TT(C00 X5MP>][1E<L1IH4RE]:&^\TI8C4\)YDD)><2
MDQLM8%%WSCF*3YG$G0;CL5HX@5YCP QX0B)#\,8QZ[(OC+(D'>GMPEO%X[M<
M#]]J]\'\G._.ZKU\-7Y.X^=S!IA-=T%IM FAY9^0'WLW^U*_S7WJ>?T]/>T/
M3J-AQYWZ9#RK=X/XV<>3W\+XBWEF<Y[96QQ-,UVV#ZWL@F+R&5@&2E4W:1/'
M43XC[L=)#11K.D=BJMO#.\(+L4D078F HXA-@=DJ %(M@NPB )5TBGWG20+W
MT6B?)E]#E-RBJVNS);S>T7-DX/WA<RTWQ2KW,@Y/&Y-D.C'<(TQAHO\49/WV
MO7Z?7SU\KA_(,/Y[XCRQ5WTBGX6I>8#81W] SPQZSR5IP_(JE//M8.0O90<>
MJG:9!;4$ZB++1&<(, 203R1D5_; KL-P3FR5Q ,0!?%5<MS]#5!GIP/ &?T9
MR'DO1 8F2"-@T=G^=U+S#%KF%AA[/9;VXE<>J _HPX2I?-=/R$X"AFZ$5H=,
M7#@)"  Z/!D=E5KL5>R@!-$]3%B=H[_0.:M*($ W:QJR&# IQ%&QO#,621#+
MQ(R8@:J(X!0P9XX7G-T59!2A:.X+%.#(>XNHAC'3Q/9Y1:">$2K'B<PJ4!+?
MKD8E$0,P[O74<4I9Q?22+48V_MUL#)>DY980,V'"&,=.*-R<LG! :,$\G0G
M7QQA:' YA]7&E 8#<BN;9L<!=GBGP%FC?F@]VS7[X%VX3-(OK$+,@DR.D:]$
MQ'!-*5S<A'VC !:CX 7PI.C9\MT I6B*JT6!SA=W/2 06G,!Z!-$)O:8*WW<
M&2P(!H$/]@XZHPQ\613"!]%5O\W+<W'DDAB>/%<_6.E\K;Q/PM5-4>P/35\;
M0N.Q3EH8[/[Y!?%&(7^<1G#S'7KOR7\^Q#:/C<^;WV5C!5W5.5YY_)UE?2\X
M1S]"[LGH'1P#CG<!>$JQ#\K[L_.YPTY<K>Z*W:B(<[H*H)4D&(/A:O59$(]M
M! 8:)5)CQ,S,I+PZWWL-.) 666D6P$U,ER@"[5B%BTM!ZC!*;-"51X@QHTT&
MP4^8)$,E1WQC[10Z9$(\DO0\B"5=)Z-=_QZD0'<9;$@4XC@I"&2<6Y%AP#N%
MS)>";8BV$WF%-?-JA.1\-(07UFDU&/,8O:H/-55L-*)[A,99( "QUS,\,D\X
M&0DH2Z$,.44FP9-AVHAH/V_46%&BX*!'F8P]?>N!6J(!J*1)QI7X(JWL 57
M)"^7,HR4L<S(#DW>%I&;4*PF,,:<?%,F0H:U-G)N(SL-QQC 0I9"8F'N@HCN
M2>0183D;+P67\N +45:#H3A**,9 8AFD9<NN]-%WM$&52"3.'BRM>4PA4UH'
M%P,?:=1 GM-BD0L6N*8V!]_ARUEHDB2<M)]I2 E1#+8,T11MMJBV1VJ73<*3
MB@DV5F+B@,V:VV#Y%7(Z/,O+,',-3'4&_I4A8M^M&S\AZOI!VU0((TX^_OO#
MF]W>D4>6WGDX7I*JT1=GOSNK>X<8MV,ET89(\;A>BC'(E:!TWIS]C@TJ)-1I
M@8>#T(S)IV37+-F@,U?.D,/^2SDV+:6E0 QF\ !7*F*1B*P<*(/(&- F%,NO
MXY2I*^XQ!54@+7A,QTQC8T702@ULY7,II1G^I2E;A9;*"H@UL;R+-)_@-5*J
M[.L2L9,U$CDNN>M3A#+&YN#B 9S(K%#^+S$IDK1@R8L%"JK\IEQW<L$E0ES-
M 8.(.0("\<7#+$Z@VG 7*:*&M\(/1\E8.VB$8(2<7,VYG$A51VBPBFAIF$*5
M3:\,Z%RU+-!2..(FH#K(X(F'H9B^1B&A_0X>":HY?@79C<TY+&%-.:*P_@88
M_%G"VC >T3ES(&7.'ZQ!7DSE;+,3]PR3U9] >&;>(;3;FBPY3"D.<P3?>*8F
M1:0L"27W3[C(LZH1.!-@\)P22TI47>RC[.<(I\8&.0[2-&1D5;Q4Y/4IG9 ^
M'L:VFU(YMH%2GIF\;,$M0S;M[8@K_N5*0JM0,\?Y70E;57BC)2]Q6KK62^FT
M+K;((=61 [\B.H"B-H%KANBI]5)RB)TG@(LQ1]G*Z(%6HQ8412T+N@A!Q#0"
ME0DM1K=33N:1,,\<X4H30).I?F6"C@VQ[(!B*IF3I?NGQ\:08W'F4W!T1,*V
M$W^F(WKY8-R@7B>*2!P!-X1@MWB.T3@2.*$Y..NOF- &*@M%UH2OD J"_-DI
MZ5\VM.>#?ER>(^_I2$NYD@GOLM2:,&Y8[!>,X:[X(S]_?'?JV_40YI/KB5)Q
M65*H_IY=!@M0NE*E@^8I!Y[1'6N!)&E*%A@2$\N9\21^PY,3<SD(>3GQWPY)
M&I1H9K@0LIW5/<DP,B/BCOY9Q$)46/G"'0*PQERQA+ 6I>)+]%N-9PB6RO:T
M.H3/G*6@R<#?Q]Z9 JS^+0' O^/Z!%?FVIXJ$:3,3XZC'663WSZ\_GC*\E'&
MHHE)Z]/W5/OBS8ROZV8D$02@'07(+PDJM#T[M-%.*AA3"6@0XH80LM$+@81<
ML)9G39$3)HR6Z=H3]K5)JP1".6CS73"&-W6".-/:<\K$MK$))&*"],@$6Q,?
M3<G^2.!<>G"8FDB=,!X<6R2TB2;)+7--[I)-0D@Q78[M;4G<*A)G4))S_T%F
MG@,6!5\E @/+9PCQDQ_U)WYF$823&I,45U>JL4F0<3[XNCM1)._CS3I/D@EI
M\8*+(+'1]P'H)[G(M,;LZ:(B4-.3D]\_>2=2M.5X CLA<OK;;R?LS>[N\UV<
M%J1_@-B>8YT#MFO#G0M=P0-#Z(.O7C9#LZ^NZ63ML(&^0U12Q$+*2T81"J0X
MCKC0V2&/>W(E%I&XW:'J1T$M","R*TE!F.P4ME;1G5<?8^^X.(>/7F_?%YN=
ML55:80XT/V:W^-L''18"Y$*KF,<@IKW '^&/EXP+^%7(IB*;_8*55K0G!X\(
M3@LUY@M5#@0:1\HF>Y1T:?B  :D8"C(+([;!X4R3D%+FM,A(*.,:[L5\0QI?
M#1I1%I,>BS,'KW0$E]9!SPN@J610R++"UO4A4)TA?RC2*[B@N&&"&0H$*)T0
MX17UC.(T4'W5)H. P& "25+-MBC4A19:+)"2N_EU^(;#4DWB'K+M56L.;$F=
M6QFM'G]FP,^C5R?6'@CDZ ^EJW?@ ;^5:&\&]U;D2G!L.X*A'.W^N1(U'ZGM
MC7O_6/*C6TF0A+2,]'0=[F9\$A4ME"PF$A.>:8>\1#96<_U,EIMO\L1T8AYG
M ;H5T/AM&V"0B.ILO+&^D6C=B%HG.Y!5H7)0KE@GB5";[4P4+#O57M0.W1W>
MB42N<<0[5B!::'H^@W]%%*<_ SACJB.0+Y:K#70D&,!5^8T9B2)#9602#RA@
M'R"'XDR&"723:OSK)9H,45*6$G$F(]%J?W#*Y-/Q@.^G0<SAW:Y/&4,445Z/
M.4L9B&T@L5#,I5 G!%')"6X<%6$T0=UOCL*YV-@HV!%_Y>Q'Q^1;Y+JH&^Y)
M<[@P'1=SM.3"4QUC Z=\8WD5279!CJSIM9$@0.:MIVOP7**<IYY$990C0UR/
ME\> J<J4?<>00NJ'HWU\+N9S='IJ.\@QKQ$!_0D+ZN$N=U$M)/?:*4#N/*;S
MVI"68J.I>458Q#.8E]/9]6^I7:V&/8GSLJ\GGV<H*3\H197,C2@*H9%>QT<D
MEMJ9J">#8'+!XT1\<_91XYDEFPS[3P%AKT7M/1-:I.LF\AS:]I<G"[B@L>,P
M*<UBK\6UL_2[U6GL?4'5XOP<,P)S=;O+\]31A(6$$Z+66#>7B'-%A !2O;42
M!.H^MFZFBH2:4<J3P,PR-+&4H<_/ICXA(_9+&1S$LFI<1,([?3%[PCT%C0TC
MDN@Q2BSJ>"?ED9GVN8/3W&F(6L0=X@\/^NZMJ=G;+7E-&5[CZF*QR@B5#,A\
M;5;D))\DU=]PPA$Q=IN:9()D)*L $[G0@1DEE,5 ^I7#TTLNW3#='2<)RBXR
M=5V6BA.H5BS(>+C_Y2^8+$J \A 1U"]PA5L9TN<(0]CJ>9#IF!.:A)8DV6W7
MS)O-,3LG+:O%CA]X H!0U@/=029IQG#F-F!%*4JFI:0&C-O@W[Q1E(R_&"\-
M0&HRJ;A^@SGR29S[(H@*_:)B<2@K1KNZFH458\<<EZP%@442QA*O(B&$PHBQ
M>F:0<2QH&L*P>)VTO.P>6.J]^/CV]Y<L)B1F]=>>,=5\$5^4@U&&H=G3M6Y;
M$GW=07@_YM%2_(G4/ ?5/@I!P##!"H&[(I)P*:\.0RY=!*C> S+7H4T$Q=D,
MP_S$':8#':FZ>!2B99U-T[O_*3AXT/C.R;=@,T1\25KAP$$0QT"8YPL'N+-
MCPI(>F7T62Z_48K_M%A$N3""G[B52.F 6", X_5$4XU[D*U)KLH_=&A3F6 7
MF8WM+B=8+;""9,;'N#IYE3"-\[LSS! *Q1]3]9&QH)XY&4ZE+-ER,EX-"V",
M5NK+ZE0SFPBL,YZJ[F^=;Q8X">#3!$0^?%+G;II\LTHRFB2IB;ON#LEHM\I%
MLZE<CC]R*3FT!%4.:B82LYQV2MR0TPKRJX7.UP-&?@YT)+_$N)WEQ,[R^$*K
MPQ2WIVQH8MWIM)?M WD7>IS/(!&K2\% _(7Q+]@T5AN^3:2MG!]KDFB-MQ2%
M,V34I;Q*%5^$(+"P#<B:+=PXG_+]\-U,79NL*,+>7VY TWUE26I&06F2SH*<
MZ=FB8PKWEU,BW6O%[0XP?I20.YE.L< :OKX,X!9!B1L E2 ;OHC9%2E;V^(X
M']JE;^0R Q(U2PHZ.-M>8%EA\*4, 5$];=7C0Y @&$>Y,,9-8]HBDUJ1L@D-
M[P$::# % B,9@ =-4"T?AV)PTTTG1#(QDCW):,86U_%,LE6E= @^0U%W0/K4
M5V)>Y9T3F$P\I>_FBB]%D(13&SJ'L>HYQ0@BW9W@,3AP69Z#H^>"'#M35%BG
M,2&T2"Q& :E0!:![6[86&!?,;2P&VP"OCS:<ERS8#!_7!V&,Y9SFAP&P<ND<
M*QE;^TDJ*I?$*9G\?6T9O_++VIMK1C7>B%D!.S556)#X&TNI+V9<N&\4:F>K
M!P)Q4>?BC4#GY;20I!8?]4<4'U&1(M<)L@RS84W:#"&1?9OJ+$ 86>\?)7%!
M*@W0B"BY4C8W7WC4(KA*$^"]%&,A)@'L1[([TDS6]F' 5QR21-89S.D%G9?$
M;E)<4X7T(E?GE,;V(XJ*D<U1)/A2?I>B;!@N>.$4*R)/@9!!FF0"@GE(]<-
M0*SZ.4A+Y5 +\1M)<)-3DE7R3\)<[4;AA:H)_/!"Q[^"%@I;\LA!LXT:,!]]
M%?'A$\MU;ZN(;S E?8FB7)N:3GERR^\L\P\GU7KJT%9YSN$;]BO*SL7 J2 3
M,<]P#?O0*$ B-\J=X)12 R]RJ!@R0S51EF:7%GELWJC93;;$'3*)(N7773\1
M:N)CY3K0S6Q2AMHQHAA6F9D0$0W 2EFB#A:>8FA484!)P'"$<^ZNI0-SG'1<
M25W"V"#]:[8 R7@:CNUH<^['(]9/; )&,6U?XN12URNGW. 19EG3=-@F@P"Z
M=':6B\[5!),E)]1&/M/&DGDB24#Z>308[28+]T&;PH<]UE#^C@Q?34-6+[5)
MPGPO9I@P6T2!414E%MOP13LIR09I0$$%R:6#)K\O[P@YLC#/Z,KE@7B440#2
M!:408#R47@>%"5#<KOC'25HJ8G;,8X@"-8?4"PQ0;R+K4[6N0YEUCU)BWN9I
M!_Q3+!K>2O^<>>W*01+NZHA#-Y*U57)4'9*CFYJN6DF8M8ZAK/P#5ZN26M7N
MT+92&=U!+5_'Q5REF(2H(Q'AP0NI+VV=,!KM(O9#G.$(9"ATQ70=YG]!<?.E
MN)&5T25+E;EUAAH@,HF.;)C4J3S.5MWN@N2>LJX$K*HP,IT'<W:.V/P[-E1&
M'/;/ K;K*+S631A=\0)[/GS6(2F6#M-"C#'7O;"5TIZ2(Z!_=<RZUI$BV4:$
M4=HZB\:J,!?RL!*-)!SDBN.$X9U1&!L[%O85,!T:D$+A)2>: ;07*&^8S71H
M:JY3AQT/BD=2:69J@-6O0+ M-9R,?%]:P6NI"%*,]ZOUI9L(R&I5ZV9M$SG
M=>^+Q@EBO*L+6XT7:\0H:L2!)B\MQDSI#5?'=KQJDMMI;&H_(>(!LN@"#NQ#
M<RG@3V*N*J7>W91L\E/)*ZOKW]]2$=P2I'/*IAI)0QNGKRD3M>HMN>+D<(ZJ
M9IQP*?5+K!!N1UY+FZRW@)$-4<HOHQOC*R5Q""&V' :(UWR!!A&=LP24+=;9
M7486-3B(52;F8=$6DQ&\<,TQE.VGK2W78P;UMUG]KINV9K4;*D$ 7&07Y8FE
MUTM6'^)0V*0<!7D=>P<\BHU@#B<SU,;5T=R5L-%HPZ==6^N] 2OZ2. JV[%?
MO.6S>^E]L'E=&U]O$^X+0^N%TO"1)*T2CH?5Q$UQ7&/M9]2WJ1^#DWY9O05D
M>9! 8N.>(<S6P4.4MT.IW\BE[RE3<\76W##Y3!>2-U'.(85$:3-VE&09QST
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
MEXPOL$Q8BTQ'$WD@F:A:RF;I&JQ[#$J"PBO,H@<0M$6J+L*DR)!ZSA>1P@D
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
M2Q"M1=V_S[4@)@J4@O-4"08FP$3A^%"F(,_@1%R1@?>LU^E[(Y&* %/F7I2
MS//:JX#:>W&6PO&#C/':.\/'?L/'WLFO+QEU6#NCN"/">&TU?3;HNA[( D6A
M>9BS#7#,UP10SDYO#A@D4>V7B@!'DMK=4>R<X\\K;Y$7\6Q86L+QZ]^<K>$G
MNQ7V(%)<5(C.X2FKLK X *'8+?]9Q"QMM2BXM)8/#GA\4(R]8,X2-JLD64Y
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
M;E+MLHZ/0'8QPPRPM;)L>BXO282@%@TP6=3U,8\[A9-KTL$J@MB)LV=X0AC
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
MIXEH<^I2<4-)DDM1^EP+< 6;/N%S_ITX]VF>')9'8>Y-X,O=*5&_'!;,!O\
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
M AI9H:2_[(=  G,+D%(/F@*H03;6></W-(E<G;,7R'+H_*8,SI)?\CMFL_$
M;KY9-XU&K0%\$"C("= D\Y%$0D62PI6'A,_2O%*T'HG$(V8YG$G#8Q);2%%
MST<P#O"_7':26(6/DY 8]_SSR)>31'BEXJ(SO0WU0+D>?@!(FQ'$Y3K;K)F%
M&S,S.43^(V583%30R8?,4B=$78_0<@RVCS3%C)NO__OIW46];TS@AVSLVD)J
MV1XP$^(EKL<U/>[_8F/\'&7!S?^QQI/7GV0O@NBR"OA3!1C.A^OBL'*YEH':
MF#N$"Q \$ 4J'JYH"0'W]4N]>]DW8 ]>JMSC15@+>D, 0&"=AYS-#%UT9.#7
M!Y;_(TPFL3W-(;QE@(8(Z!5/9Q9M=B^;^445A)+X70B!?."%)!C0&( + NZ3
M4VC,E20O"CBK=&3<Q9K==NVR5K1MH#I'1C[0I03:SD.Z"A=:A.*WWV]0@ *L
M/HDL3@0!MWEPA0DH5V!"@>(#C[0\;%")MA$=E^5Y[)XYP&/ PO.$R(L!2>"=
M*!F,4<;B1:*^Q*636/,:J8?+R<!7>0]^E7P4]Y1K$P>A<#X],A0BR>#?: OB
M(2O:(:@"  ERO0<W2"(/FX+X<( VNJ=\XW\2>*?1)\2JKY CI<0*%Y*<XSX
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
M8YYI6%XR=OUDC(DR$TR43D?Q1)?&=99<0,'[V=0$+X%U>(* R-$1.38\D3O
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
MY^\F #A=$!UN+*]2LS&*0+A7'X/ >71!CEP8W]2X<61P=U$?+6+D; )D^I%
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
M.FRO9W8Z7;/6K,]:L]IZ/&R&=;Z,8VUM/DI<?:("WJOUS%:UZCE>5!:!]@Y
M%3%X:P.R) QNX?2S;J62I%]H"W*%I'W_TV919$R2T!YAY<8D=&UF!+!W>,G@
M@N'3(#0&5N2>9-G&8?.$>E%J^.KZ"HX4MP(G;A$EO@)&W&8(\1;Q8<LBKX99
MKU8IA99S!X7310G1J\L=3A.GM8VY)(<SMER?.0:S0M_5HWXKR@J6<8*B;/0U
M4S;YW;\75W]MV\DXH6D\[]C0M=TM"YC-9KUC-AJ5+6'6 !P$7A>E(J^9HODL
M>%TW^YVVV6_OI[><#A$^*428H8 HR;>#,9AV(^9'[@,SO" Z2<EWNJ7$2Y7K
M[:.0&9Y1U?"-BF6\2\AG0+4O+/XZO+-^;L.'C B.%%Z=70$WJM<J-1;AU&Q(
M33Z%Y+-]W'.7Y--NF=UVI?)]#L5<W7,5@F'%<>@.DIA*#^/ ^,A\!M=G_ %?
MIQZK@"J7NF9_OV72W?K6P43U[GD]U9:&:*/=-9M[:K:A2_>KB)-;AP?+P\EZ
MT^QV*]DT7QN0"PW(+\4%[MIH/"FM=QEG*6HBN9:T^\OU@Q#XB:P@WM(YU=L3
M3ZD08NX= $T9!931*&ION);,+84RFO7*CF73AE[:;"U:;.[M6L2JR+Y+3?I
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
MF_V>V6[LM_?;B196'"CF%R5%;:IJ5@'SV\V.6=MS1PN-^8>$^4793)MJAE7
M?- <S5ZO8G;84:0<[Z\YU<UB)ZON5J7C3*5$>GNUHGRT$K7>9^-X];I9[^K@
M;E4!T42WC.B*$IQ*5+B?3\$V6WK>164!T32WU M<E--4HJZ_@\96>YZ.KMM:
M;>D-+M3D=8,KW8QD$:LJROTJ42G?,I^Y:S9;E>! NHF/IILBNJD7I1^5J%=O
MZ93&ECZZ39RFF^K235&N48FJ\98N[9[9:%4B95BWPCK8MP_.'JGD,(Q"V\28
M\$SP,3"3:&2%S+@P!E;DVLL;:9V(,R8'R-[EQ@*XELF$HJ2Y53;(+0N_(R;,
MRH;W5N@CWLC/WR*:I%*AMJ94^/3E ZA3E^U*R(3*XEIE #E$I"_* 5ME0.P
MZ7N7[?W&]JN.:Y4!Y!"1OBC]:Y7VOQ-.WSD0I-=)+6LKF?\PQ'?F&!9LV[IG
M.04R,H(DCF++1]BT-ODT0"K(:(JR[9:JE(4L1J+0-<>@+\EXP,*O0_IN]#5#
MH">PGD[3K->[9JVFQ]$?$2 5I(BB[*NE^N;>**)A=GH=H(@#$<D:D .EB*+4
MJ*7*Z!XIHM&KF;W>@20A/KLGM!H.W\J_K8V%G7JD'==+@!%H*^(8/!5%*7QE
M^:3?<439UE?1JD2$O[+85AE #A'MB]+!RO)*/PGM>Y=[[HU==6RK#" 'B/:-
MHFRNLOS23^7VE1PPK-,?=N69UEKED?D=&D4I<*7YI@6WF7,_;.EY:)F=7MUL
MMK5W^H@ J2!-%*4 E>:=+ITF&NVFV:H=B&#6@!PH311E")7FGRZ9)IIFM]F%
M?RM1M+.9L@JO!X$SY1_!'^CWHS_>O'3<!_YJ7B,L#>H,O E?BSL>>;(]78/-
M/$_L+/T[FEBV_'OF0&LUB<JN[S _%H6MY=51\(-2#@W5_?1DLQN>T>G'KN-X
M[#4'L]6[;/VZN"+RMQG0?IN!*@.*8!*W@B\5&L:T>:I&N/K.F.$',3PQ#I"F
MJ*+70@U\Z/J6;[N6!U# &SBH*+H$'+Z:5;<5C%$1)H<OS[Z5&4Q!]"3@^/LS
M. LO#.JN_OO9[<>W?Q;CR7R5AWB'^!^])2\\][PO?_^5/E!EFS;#^N/71FZ1
MY9;3S/G -CDFM6KBM.6.C#>CU*J\O?[X_N+MM_?7?UY<?[A[_^V587F/UC22
M52JOL$\-FX%CQ/BF&D@/PAC]5XW^![^;LU/%1V?&RZ(3^./=M\(3H*M2U_W_
MV7O3YK:1:W_X_?T4*"=YQJZ"/ 1WVKZJDF5Y1C<S(Y6L2>K_*@4231$Q"#
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
M2$I*A2S1VO'?TP<CQ??/AP9D\0 H "@ * #443); 4"FD10'.', U%!\6 %
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
MN"[!L9PT  J8OA 7XHZ^<2!^=G?]S0L"I;0H^%:'KY 4SCT\X K*"LI*%"L
MB.!E0IR!._NY%0=K,("E\F9WA/CU!'JS%;0;#&VY>+,0;UX5EW4I#!<FD_1Z
M+;T[JB&;1.%8.J]T1XB/3I!76K'G!L-:*O;<%>*?*^]Z5DQ9H5<@>H74$*WN
M7<Z@^2H,?7N\#,VQ0QX]>"CJW62.+_-'J ;_EJ&@KZ!O=,NEYNV 7_C+66*!
M[7O/Q]&.A&=@YZ-13T),'RR).^-/SD=<5.J<_1J6O7B)_=#&YI^-/=\B?OI7
M6N YMD5GVM(U_.>=^ =UI)N1? ]2>Z3V2.V1VB-9'M27;D;R/4CA:/N#NM+-
M2+X'*1RI/3KP'NUT86A2Q.VF!E8';_ST:7SYV71,=T(T,]2^D FU!VD= _8#
MKM>??AY?'BD 5[6(*SVE(H/)2KRF+29(DU:X6[6KT#>#NV48A*:+\XQ-(ZV2
MII';/[Z^N1RT]<ZPK[>,@42=XZ1&W1'&_VMC -\]".!SS(CTBS// 5$6L.=M
MM26*,A\.VK68#B7%9MWC-X<V>I5I8X^0YQKI9-1KZZ/.2-%*,\:7K\%NMU^9
M8HH#:P^H0"5YCT.]WQ_HK4XMOE/5>EUN.5$(^\&!8"^5>$@(I=L=ZJ-!7Y&)
MS&1RX-CU*F0RK$PF J/692 @6+=N&(J I"8@^>XCH\KT4R4TOL:+B*&/^CU]
MU%,F+7G&WT0F!P[ KR!G>JWJ]W8QH?<RR)A>5Q_T9+)[*1$COXCI&95)IWQX
M?XV"I:VWC8X^&-22&2 I..L>OSG$T:Y,'-6S!VHDEH[1460BS?C-(9,"'[JT
M6$?!T-5;0UEO'$UJ%K=;-$[\[TAH9,Z?KD]@U?\EEO8$5U\-,<H!HOG JK7@
MV5S ]UT2:MY4"\T7_,]?/P4+TXUF>1&0R87]<C&S+8NX'SB^!VVXH+;U86_X
MZ6?\MHKPD<Y')5$=H"8>6MWCRR?2\GKDM),\NO8A F8V&2 P#>_:#&9?'>_Y
M5V(]D5^ O]'<TBGPMP<R<<P@L*? ]ZG$=*U'\Z5)Z?]-1&S=X\M',7G5MG:F
MF#W":!3U- >]=8^OE)0&'EK=X\O'<O.*:.W,<G<.2%&,MCF8K7O\>F)2BF@F
MKV#7SC0C,#I%45-ST%SW^-))H'Y>G;"=J:E*K(HBF^; MN[QZPE8*2*;O )E
MN]^5Q82N'(.2BKV.P[HJ]S41S'6/+Y\,RBMYMC,QE0]F4?32*+S6/;Y\])+7
MH6AG>JD>WZ(TM^: M^[QY2.>O/Y(Z\13/P4T5X*<;AF: P6^?/5\ FO6)DL?
M=)C)JQ;ZIALX%"2::?U[&83(QE70BG1\1OF#FCR^=,)ID-<OJ,Z@%<Z9KCEC
M>D2^Q*:-PBOA4E<QD_J#A'=3I=B=_/CRT8X07^J!PE<4'<F*X[K'5XI+ P^M
M[O&E8[Y#(6Y$H8$LBN7*BMZZQY<NI&4HQ)MXI) 615>RXKKN\>632D(<BZ*#
M6Q0!R0K@NL>7KR[+4(BK\0AQ+N*)JF1=O:$^[*KJD_+3EGPE*(?E/)%'"7M1
MY*/(IVGD(R3!]S!1,'614[LO4TR HJ7&T%*YU-_F$41WI!LM"2OJJ=HP.X;(
M,)\VC.=-OFMV$"R)!6"TB*\1RM8UVYT :@!TVL(!.,558@):<1[6$\YFQ+$0
M0QJ9+QSOE1 L(0.?F2YNGV]_A]^BU4S%V<C&NXI8U\%#)C*-#)Y<?\**7MU2
M$,8UKQCX[A%[E'6Q3@?_Y+ #_G?#0?>(F&.?5NL>U3%Z>KO;DHBI28W8NL>7
MCV*$!$J4##(21"__,)TEJ18IJ^BD&>-+J!4+R32O$%%4-]&D+I1=F:HKJ@NE
M3*130#FC(X2#'%\MRW.S48U,^=F:-;Y\]"(D *1T^-0QY(OR29_&^-(%2XV$
M!'4(")925-0<%-<]OGP21TA@QRZA48I<F@/7NL>7KM[/2$BLQIYQ4(J"FH/@
MNL>7SYHV$A*OL3W<22;CF8K&4)2RNZP14H=]]\ F)5Z: ]JZQY=0O)2+ U R
MXW#12JJ@3Q2M=&^^(F/&^"-S E@*J >0XA.FAI_ GX%M$9]&O:F (]DX31&C
M.7CXQ+IG*V/99RSJR]*'>=_#JCSK.L;5=1I6RH]UXN/+1QM"(B9V"2W:0AE4
M(F\C#Z6CGN3XLE%'NR4D*J)J/-$!**4X\*ZCC_HRA=Y+#=:ZQY>/6(X0$G%H
M1:LXCML8]?5>1Z;D1ZD16O?X\E&(D$"(W8*&CBU$C(YN8--F12)-&%^V6*%V
M2TB4@ZA8(757D1:Y=8\OGW 1$O"P<WR0(A%I(5KW^++%!+5;0@(:1,0$*:J1
M%K5UCR^?8!$2W5 R#.C8UY7N0#?:*N.T(>/+1QM":AE4C/Q10D1:H-8]OGR$
M4LX'KR1#N0-7U8AVC._Y@X2LL!"\$X8.B8)]D-'Z]@1T>5ZIR'PV?2M0\3U-
MXBT'CV'8XG9B,897&#?F$^O6_19#[&[Z$ .,?O6*PFO7.)\DVE )XF:-+QVQ
M&$)"&BH'_% Q79Y2KCW4@\.99^VHL2J*:>KX\E&,D+@&(4% BGID1V_=XTN7
MYM$VCA#T<"S]K#@\:&3HPZY,-T:50-@8(A$2]K!'9)!PR5)H6VGW]6%'48K\
ME")=?) A),KA(/%!2CF3'<UUCR_?U49(0,1^,4.*;&2';=WC2Q='9 B)B! >
M1Z0H278DUSV^A!<?(0$458*+U(U'2HC6/;Y\.IJ0Z@4B0HR4?)$=O'6/+Z%\
M*1<;H(3&+D)#51?:,?J((D+SR8);G%1\D71,I("'M \>,I'Q7T7=&0M<6"I^
MZ%S&EX\8A$1#E(P?RB6%C Q62N;9C2\?20B)<*@0(*3(0XTO"7D4W<':1PAN
M$*5!%4?XM/5!NZVW6JK%GJ*#"G0@)':A=)"/".FPV3S1?7/9Z?;TH51MC14M
M-"2,IRTD\$! &(]2H=3XDHB.(G(1$G"P2YR.H@LUOOR!.&TAT0-[!N(H4E'C
M2R)""F\?0N((MD?:J&N'-""L>WSY]"@AE0)VCZ51(D*-+PEU%(F(3CE'M^+[
ME<)A5#&>.!P&3?$78S,@%N!MO@!-VU1=M63D%I_(/ W&#YKMP@7)#C^FQ0V9
M*Q$CY_C2*6 =(:[R':-'KJQ_+X,0GQ8\>AO<[)0E48YTG6)(#X2U B3?B/_#
MGA!6:NZ!3+PGESY%M4X]@_'EHR(A#O4] D[JHJCB:.F1WAVJYCP-&5_I,PT\
MM+K'EX\3"_%C[QS2H32:9N.X[O&EBP?I"'%P"XP'4136;(37/;Y\DDJ(J[Q*
M"(DBI69#N>[QI8LZZ0CQI N*.E'4U6QTUSV^?()*B(^^?)R*LF4U'L-UCR\=
M#76%9*Q7CW-10JG9@*Y[?/D(JES6NYQ4T5Q)HPK-[!A9\T L,E]0]/Y 2&AF
MC#D57",=OU'.J":/+Y^0$A(6L&-PS>^VZP%F7R/U\'IFND_DUDTXD=+8SF!\
M^8A!2++]'C$RBC#4^$JU:.:AU3V^?-Q4B']^YS@7Q4/5^#*&JW2%.-,%AJLH
M0E'C2YE2V!7B*Z\2=K(G210939.<V^Y(;W=Z$I&'2D5O2!!)5XB;6U 0B1(?
M:GPIQ4=/B".[?#"($AHRX;'N\:6[AO>$%%^O'M>AY(0:7TXY42ZO7#%_5<1$
M5*C%'R34;*IAJ\@*V5B%<G\T>GSY]"XASN0=(RN P; ;_&]>$"B5ZK3'EP_R
M0C+;]XB?4/ _H_&5FM# 0ZM[?/EXIA"W\,Y1$HI3GM'XTL5"](1X> 7&0BAR
M.*/QY9,!0ORZ50(>2N&^,!>L,QKIO59;8;\9XTL7T] 7XJT5%-.@Q, 9C2^=
M&.@+\=26#UQ0S/_,QI</\4)*>U>/3<A0P%48^O9X&9ICASQZ\%"\1Y YOLP?
MH1+)&/JP+9,K5VK UCV^? 13+EUW!]3#7\X29W'O^3C:<:B@VS+T3ENFEMA'
M*2&1BD?8A#P^O0OV:UCZXB6.8S V_VSL^1;QT[_2 L^Q+3K3EJ[A/^_$/Z@C
MW8SD>Y#:([5':H_4'LGRH+YT,Y+O00I'VQ_4E6Y&\CU(X4CMT8'W:*<+0Y,B
MMC.QV:*>GXKQA@$^C2\_FX[I3HAFAMH7,J$V(ZUCP,KA,OWIY_'ED0*UCV@(
M64%>!Y!G>4NXWV>A5Z]IA)W3A4.F(3NL\M,N,I^LQ.3:8@)Q:0'.52L+?3.X
M6X9!:+I(H;&AI%724'+[Q]<WEX.V/F@9>KM7B[&DY*:O'U?C\"QR1GN ]Z\G
M16Z]@Y!;CDF3?G'F.3#E@#UOJUU3E"EST!XJRE24V3#*[%>FS#W"\VND4D-O
M&7W=Z"A:;0RMGKJ>6I2;W!]4IL_B4/ #JJI)OK(!^NJPJW=ZK3JH;8\C.491
M"_D([:R$8B'5#0]$=5+)PH1.AZVAWAW5TLA!$6G]1'K@M)!#$>FH,I$*3!B1
M@7QAW;IA]!7YGB?YRBMC"ZAWT*I,O57R6VJ\<;;U#MPXV^VNNG&>,9$>.-_F
M0#)V8%0W#XG)Q)%!OO9[NE%/<H,2K_53;C/%:[LRX9;/&ZI5J+9[ [U33_-!
M)505:>Y!FIW*I%D]P:E6C\MP4(ONN\?Q*3)59%H0(B0MK:%8',&_=286IK=]
MJPQD<8@_AV//>L57N".7VO]HVJ>?+?L'^VN]+JN0.1LPFV0R"S86G0#'#_5Z
M38CC\(7%KX.%.8E>9[;3:+7^]I$BW78MX-H?6A_3$_UI98H_K<PNF9S!=@JG
M!'.BFT/_AA<^_TM+'>9*7.;<MBR'?&1S:K??=PIB*'><$S\"_#-%T7BZE)HN
MOQ&BN5X(3PP])!\:RHIW0&UJNZ8[L4T'9L%E7/ >8)H*K.1+I)A@2_\Y67L&
M' =?R@HL$(MT<NS]%8#"']K$,0,@POM?/O_]S2J-(2IRN!1_AW)#^E9TX)GG
M_?'G[_$#TTQT0I!1)!&^=) 5>*_0R<K^P#(9DKH&W^UH1=JG61P9?'_UR\W%
MYX>;J[]?7'U]O'GXH)G.L_D:1%SV YRW2U;F,2-L46UD 3R@^"\M^C_XW5JL
M,?_HC?9SW@[\^N4A=P?H4:7'?1,AR-1F/C+GOP G?I,'E;U8QB/E$=Y4NT;Q
M ##^]+-YN;*#>>PK,X%M8%T_RG3$LK:Z#TUG9  $F(S[OV_Z;\HP-3H_$3RM
MO9$1</H"KF8RM6#Z1@OM$,?"/SG X&,X_%^(2T#0:K^"T$>+M 8"_WT!7VO0
MZJ_3/#R^G004_F8PT[XZWG/0@*5NYOC)0=N7;_]\_^V]]@4T,=,/--O5'F?>
M,C!=*WBWMZ@Z@O:2\.^=R9]S6Y#2E+WER[!B\;+#0M*L!1C:R\>8=:=YA"8L
M]9X_+ZTS"3J#K#Y;QS@Q11FM0D5!U$2VW[<VY# =BXS'1;5YJWWT_XCI:S>
M5RN3',0+_";_-UYC$0?!PMI5RZ DM Z0-"-6U+03-;45,6TE)I8;)R7R%6@D
M!HVA0*- LRMH6I*"YN R=@. U-M[G4/)U/9#(HS?K7H]\3GNZR8C2F%W"^*;
M(:!:0[? #SNT27 TBJJ=XVZT(39OA7"6T5#CR[HW5!V<.KCS/;C&W;%WZX I
MSNJ7W_8R9Z%B?=.%:RY&SQ$G\M=M<V@?+(BB<%X%$1)#$7US[WUO:H?5"H]W
ML7[L4!\.-J27*FC)-9$F8CROSK*18-PX-,8[;RY[O;[>ZX\4QILPD29B/*]!
M;2O!>.L(&.]T!WK;V%"40S9H-<[2< SKPI7U[V40LN" T--\ I":V [1W%CI
MP_?QU00#!Q:^]\-&A]KX5?-RS!(?E$WBI%9X:N.H$VO:.*=Y8B=N?HC_'8DU
M17PA"Q!1MHE:AC)&5)J(A)IL7X!%(HV,:O>UMCYL;TA,;,*YJHDT .EYW<)W
MM4OLC?1N6S<VY1HUX5S51!J ]+P6X;M:)_9&>J>O=T>=9B"]<>8).33"JSDF
M9_Z78@33&VPW--TG&^/HS2 @X5J6@SPG+O5$)&0IY=JL%[.4-%SNIK<Q6*XH
M5BHYLXQ61^^TE3/KA"8B'_A'>7W6=]4<18,?=<F1/AQNJ&'8A)-6$VD ]O,:
MJ^^J2QZ \7?:>GO8$+ZO[(U"M$L/J,%V34>S@V!)-,L.)K!WH6:Z%H!C2GP_
MJ9G@/@%J Z6 G@X?$A$YE>5#7R.H7"-2KESK"T=417^\WNYL*-K4A"-7$VD
M$8@(K3HH$;3UWE"%79W01"0D A&Q5X<F@I&*RSIEU12#]C2 )6 0YK*T@QE&
M<:&2:I%QJ)3.4V$U/0%*YR^F[08(&!+<N3<9P-Q-OP!<]JNTW=$'W89X6=1$
M&DH&>3$BNZJ=!R:#84>%CYS01"0D@KSPD5W5SLI$\%_B>Y89S#;B'[:UW3(Z
M'YM!!,HB6C$"DULYH^0 \X4H$V>C.$Q1ZYA17MS.[K&8#".L7\RC^7+SLB!N
M0#X3ETSM/:7LJ*=W^U)&K[V38 Z* O:F@+PPD]UC- ]( 6V]-9+2Y:X(H"D$
ML!G_G59>I,GND9O"\7_9-G1C)"7C5S9-0<HE[61^,38#@H7VY@@9YGHG##Y*
MSSP5)I,7TK.KFDG1\AG!<IW"2C7>,M*[F[J2->&$U40:@/F\\)%=%4N1F._H
MHYZ*%CFAB4B(^;QHD5V529&8;^G#X8:>L+*=L#)05M(AT;Z-?G'+#A9>8#KH
M$5>90,WC*@4VFDXK+_ZFBE,<_2!W[A<*%9L%XK" <*-:#OE(2MZB[#(G ?J\
M2) J+G#!H._J'3ES;!7LFP+[(M3G!7Y4\7GOCOKS=G@KFR33)^_"&?&Q6R:M
M?S>!N\B3<GB?#GO)"ZDIJTD^N?[DP^=E8+LD".!N.K9=>C7%#J,P#>*&V(?1
MMFB91,^-N-#US(0/;]VOINW_PW269#]WH#'4.QV5\'!"$Y&03/+"0LKJGG*0
M2;LEI<^\8="49B(2TDA>X$A9354.&AGH1O<T/>SU6T</7LTYHP"SKAT3"@_:
M$CE5K)G>>FC*NF.;8]NAA9MU6N,9;:63_RQM=D-2U9Q/;(6G-HXZL::-<YHG
M=BZF%6,HN+S*A*4X8]\!8O_ %O;*LG(BZK A(L3KUIWXQ S(%\+^>^M&D'F(
M$;.?RMO7>]U!,U1>-1&)*:'(<V>(B/PZ%"E<&AU#'_:E#'Y4'KR3@+^((+"#
MP;_7TT<#*4V#[QIM[Y!$Q;QU?Q W]'Q;.>U.B*.(B/]:YR@IK%0KOV>,]/9
MRI!J)4E/ O<B0L#$X[X[:.FCD=(@%>X/A7L106#B<3\8Z*.A_*&/RCJY3^27
MRAUH'B\I8B7[!'QM9B44*W>1C[5Z0X7$,-G5!WTIKZ4-@Z T$Y%1KNX3UG5X
M8K@<&E+&-2JELBG@+\+^/N%:QQ0$1EL?]J2D@Q.(RI)$U8P=X0OS57G!F\9E
MBD1L.Z^<DC@W^#W#RYZAT>V.WI*S>*T2M4TA@B(:R L%$>?_WH,&+MNC@=YI
M2VG#:1CLI)F(A/C/B_\0YP"OC/_NF\M^7V]U3[.'G;)C)LJEOR26]FQB+@#&
M_9/YPO%>"='&K!ZC,F\VBM44ZIMYP3;[ZYLW'#$/Q#%#8OV6)([LJ7J"^.U+
M>;E5FF=3R*&(&O("1?;7/,52PV5/'QI21HTT#'_23$1"0LB+'-E?!15,".V6
M;O0:$HVO3)U[>=6Y3IK*0%4ZZ*GPFKQH'4$N=GZ7V9?1&$9+;W64>_V$)B(A
M'>2%F@CRK@NB@T%''S2E3ZR:2$/)("_(1)"C71 9]%MZ3\X:ELH**DKOO'F9
MD"# ?G6QU5.;^MY<(_]9VN&K9CZ;OJ644#R$EW1=&7@Q]GR+^!<,*_#]Q8L6
M>(YM482U= W_>;>U ,/Q.53EA10:6//BAG:J&,B0^&B^\&Y(P5> X0U%X14%
M825/CM'71X:4GIQSMZ0J>BJBITY>@,Q.I04/0$\TF4\?MI1G0M%3T^@I+]AF
MIS*$AZ$G$$]]*6^:S4ZS/WA9P:B4(%:_7OC>#]LBEC9^31<4A*/\48L)MP8^
M) L782=T@374HF,J8@IY$4B[FF0!!M> @GL.@L^O?P;8X3,)=H]Q4,T+.M1[
M1KTFV9Q-E19@"M-YD2Z[FE</C.FN8>A&3X%:XB$E W5>P,JNQM)#@WK8UWN=
M>LVEI4!]<%/I!HBIMQL>*G$,I?K3F-:F"M94Z/&EJKK=L!7"649#C3>RP>8M
M2QV<.CA)5[CQX$[</2K2(PKZX800B[M! ] #L?_#PD?+#CI$,5'D/TM[,2=N
MJ/RB)Q*-T1$1G!<A!PW#WP W=]-[CII[QW3#*]>ZB8!3+0Y8;PT:$@:L)M)0
M.A 1G'=P.FA*W0\UD892@8C8O$-3@3%H"!4TSLXAF^YI4X.(TC=/B</L$RZW
MF</\YKE/(?'GMS%B*B:"Z)V6E%$)#0.>-!.1CP*Z^P2X'9X"NK+&Y30,>-),
M1$(*V"<D30@%_)?XGF4&LU7PPXZV6T;G8S/PKVR;%?5+EO QL4T'5$R #, %
M>^(&9++T[=#^KTD1&_JF&[#S5WD@)\-[1$2^I7G/M><XA YS-WT@H6F[&%O!
M0'7K?HL@1:RD+U7% '2]IPJ G])$)"0.$2%TM1!'5^_+F9S1,$Q*,Q$)B4-$
M*%XMQ-'6^STIJ_DJD^D>*NTU_-"WQTNFJWI1WO*<A#//4J;3AC*@HE2N;E[1
MKIUU5_.57HT?O:L)(,8G+)/K=PJ;O8Q'F'3<U4<=E72L*.!0%) 7K;*S@GI(
M"NCH_;XB $4 !])!\Z)4=M9!]\3_!N-I4L1765%/5.6\>5D0U[+#)5Q1$!(J
M./0$V$VAO,V+!]I;XQ0;#C3LZ\902H^E$KDG00-Y$2M[ZYR"0^):(WTT:BLB
M4$1P&"+HY06M[*UXBB6"?ELWVO(+ F7B+.^U7_J3F1G06%#'<Y\N,+Q#F39/
MD;_DA03MK6@*B8GK@WCMZ:V6LNHH]!_&JM/+BTG96\/</QRNJ18=-9&&TD%>
M^,G>2N;YTH&R;);6-"E6 ILB$I3-\3*P71($^!67A/@6+7AH,DA92O%495>W
M*+1YT4)[*[2?8US^0<*[*5;UXI]8%1.*]5:_)R,W.W?%5E%7(77E1<+LK3&+
MIJZ!T=&[ RDC[Q1Y*?(J(*^\,)N]%7'1Y-7OZH.1E&5AFFWO/6H)\65 ,%B5
M&W55^?":&$I._=1"!I$7AR2H?GA<!7._LK3)I=WH=/5VIU[G:,[^'E,$*V27
M1G9>Q(N@*N+"D3TT!GI[6*\(5,AN"K+SXE@$E1(7S[/;7;TUJM<RL0W9!S>O
MRE&M6_JWE8*=HV!_&E]^M5W3G:ARXJ=;W%@=G-PK5 =W:@>G7*KE@_>R)1UG
MGA^R^+VQY_O>,\Q)5=4YE<B-OI#PO71%+X3+(Z#E"QE7K)7<'>IM51/DE"8B
M(>Z%1.Z)Q?V@K0\-*</@&P8W:28B(>Z%1.J)Q7UOH/=&]7:A4V5N#JU&)ED@
M2HL\/:XB)&8NQ55N@V!INA->&W8O]F+HK79?;P^[S6 P:B(-)0$A@6T'(H%>
M2V_)F6G?,-Q),Q$)"4!(Z-EA"*#=E"9DRDI96KU\( L>IXA)'LI*V7C>4A0"
MT1<1MI8@YFXJX-K:'^I&S<W358SX*6->1$";8,QW1KIA*,PKS!\*\R)"W01C
M?C#0!X:4[JAF9RO(HCKF629I6<0I#<,BFD-H)9LQ[(RI>LJ<%+\9Y%7'VD>O
M3%]5KUSKVES8H>E$+0$JM@'H==NZ,5+IB(H,#D4&>5$@^ZB:!R$#HS74>STI
M.RDI,C@),L@+"ME'^SP(&73U04]*6_YQ<RQ.1QW]%GJ3[YI/%KQHHM(O3X>C
MY(7;5"TF\]7S'V*0W$VOO?G<<REXJC6\Z/;T85<51U3@/Q3X\Z)"JM9Z$0E^
MU"7;/55W6X'_8-[P05XX2-5"++MC_[SK(9ZS;9-CAA8^A&? '/"5F:J2"&\'
MMD5\:LM4JF:3&$ZAM,V+OZFH:@+#N8[!<YW&RV^V.;8=.WR-<Y3W*QQP:?1U
MHZ,*&2JR.!19Y$6.5%1"CT46M!OAH*>N9HHJ#D45>;$E%=738U%%'TV?3>CF
MH$R?5;15BXQ#S>8QOP#.(%1VT-/A-WEQ/57MH'=3]*=$X>'7B)1J/:];>D?U
MO%:@/Q3HAWG!)57MGT) 3]/AC*&Z;BG,'\;L.<P+)*EJ]MP!\LK>>;;VSE2G
M09P#'JKI:-ZS2_Q@9B\T&]#HDT"U'&P4CRF4JWEA.H*<Z@_$(F1NCAWRA^?B
M(+[G.#"_6XZB2C*W,U 25U'#H:@A+\1$D)?](-30'NA&7\IJ#(H@FD(01?20
M%W4BR/->E1[.6ST]9P,GUES7+!MKKKM6 /.P+2WT-#<#GUA'I9GLRW%@6[;I
MORJ-M4DLJ5!&YT4#[6'^C/"T;Q1<1\XRFTH.-P7T19C/BT?9P_JY ^9/3-RJ
MB324 O)"3_8PAIXO!2A[:&F%\]%\(5S/](ECAH3JF^0_2SM\U<QGT[>46[U1
M#*90K\P+XZFJ5SXPN#QZ *%_VN%LYCDX'[@"?YN9/OD,-V +6,^"N &-[JF6
MO-C21VU50$91Q*$H(B_0I*K6>12*Z WU44M1A**( U'$*"\*I:H6>GB*P+BL
MKCXRY(_+4E;0\D[Z3"GX<$8T\D+\B<W<]@'-?_<6JK82GXCJ<5_$SX1W+$+X
MW3'TW7!85NMK;W3TP5#*^C0-$Z.*K(Y/5L(;(@DC*Q":@YI[94N(9FDFHLBJ
MB*R$]UL2*:U:0RG]?R=@ #Y&I^@_2*A-,+Y@P9NZ:^-7[>T2\*#9[CM>OM1>
MZ2)]7.VZ!LXD"U]A9Y5I0E_$)T1T4 ) 8+S)/8?#Y]<_ 0NWKJA4_7Y7;W6E
ML%2E67+N3DN+NO, >J$]2D2CI$,BO9MRDQJMMCX:U&N+6MO?7"HXKKE6P;TT
MW$6T13HL8T_@WFGIW7:]M44KH?W@IM@-V%-O-UQ-K\\D?C.=D@D-^"4ODYGI
M/A'--T.BL;\##0MUH6Z/C0CH'QC"\0-(VU5U$935X=TVJ2.B7Q:#Z-WTA@/T
M ?!YYZ(@PG]O$CP^D"#T[4E(+/S@RK6R;Z2^>>M.G"4N_(L=++S ='X!KK"
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
M&Z<Q7L+&P"N?A/!$^@&YX',F<(7T0Y>^^3SS'!+PG^)\XBV&G]*(\0D]%1O
MR/;%#+1GX*4:_!?F;L%X/K8%P&L(\ 83,(>)NDO8/FT".P*7;A_O'\?$?QTT
M=P><D6+E%;4574O1CC:#O2(O9+)$;<S4W"758)!$)K#;@<W./YR9H18L%PO/
M#S4;X 'G".K:$XC9A6.ZVEO0 G$,3[L%J!=2-J-J.(IP!F1[Y;I+.,@'0I\,
M9/35\XM_WZ(/N/@[VD5HRL R"#B7]9:^Q@ ]^7B/<*;MVMB.?X-- LU"^Z?G
M.Q;[DO5Q91GOWFM7L,HY?/5U;0M,6ILKH3J<,+YB4:) /TP]H*P-TY+(AWJ!
M);/6H5&U(R-+UQ>2%>['5E?6+F8;)]ON3:8?ZU-(2D[TME#>:O^W!':.EQ1=
MH_259A&4#'P ]C])$,*[)OS_#1-EWYAHTW[[[9H=V]OL!^]TRBU2 B@E I )
MN$!%, E7NX89 T6[MHD"%P4Z()4)5G<&5T2\.R9S^@D^']N.';XBST%Q2.C'
MSSC#"9TAEW243<#-;Y:2BES<IF;U]IJ^=?N.RIF42(T%XOLUM4THL/D/5UW>
M")FMR"L$7=$CMF#B&UP(V85V&S!^)R #?O$)<;5[OE\Z8D)[FWP"4)B6TOW:
MK=:("0D\"[ADF8RI D4$\-B[F>V]3X](E;]";2]U\D^^:1%=&YLA"(/7"ZKT
MP-/AJYAQ!EI.K !1D<?5/0W624"Q*YCU?XGOL5F3N4TE4L"Q!(\C."<;S4B(
M9,U;<)$2, V&SL#30!8QR#/-)IKR'.>(^#LCZ-U-0J\,\&Y<4$1-C0I[X)I4
M^XQN".RS76#726 W@\O$?Y9496"__$)<6)X.4W! J[< @GQL@%_!4SV7L(<"
M#'$%T26% \L/\(.8)\)0_(Z $)G;_V57"UIU!A[L>P[HM=/P&8%*\3DCSB*(
M%3,<P(O2G9F1G3-)/OHS*C\_Q9<7W[:"]VEHG FZ_F_I$FJ:*X+6%T(6P )-
M[<8!O<_W7'L"<@X.!4_I;?1I:7@9HT&O %Z_+EW@6N-77?O3I2/\'5!B>?/W
MR3R0S[F1T'J-D;3EGFO9L&\!7$*7\%A\:^J0%QM5PP11T2UOZDUHOV//I6CA
M%^FUFRX.!+S*#5#E#Y[M<#*+[Y5GAB.F-!EZ-/--8+J> 1W"AC-.Q65C]"9@
M:$6 1=P!SPNI] )E!_7G@IXSMR>^9R,W"J-3!W""/H5H2!\FN_/!.Z;/S^>]
M]MED#:VUWSR\?#T1!_7*1/G2XZG&;((.%40'GQZ+ZGB)T03NX3#."_(MD*,S
M+_1^> [<NB?:6S8)^KQWT>^XI(4'ZR#EV4C L1P'UYWB8A,O"/5H6^8>H!@N
M\1?T$A_ =X(I\W.?%_0RNMEV_%TM?'N"@N#:L_!C'^0%(^:WF8\0BG#.U@_4
M4U 8P3V#\'LT.P \,@Y6;GYY3>MHG^%L0$?SR=.9GTB!9+F;3D%UM:WH$O4;
M3.?MRIOK/&&5M2>WEPNJU )E@K G&XR/[[5?5T7.P_)I7=[H:[/SIE-44Q))
MLFHTC4>*64]&=9Z H(K7X('B$@L@_OLIO0G&5S'V/;H4<[$ 5L2*MYRCGI+2
M@K>3^*/I?M?^#*F^IW,5./W>NQP(? ;6BNSW=S,(S,D,>&J(-[?TS]CU*BV0
MJ"QR2<B42FJ2?WOK/;[#+\&4,(89?IZ2$Q0.</6!,P^XCII2;K%L(O_A=$D<
M#04)[,_DS'2)V'F\C7N0"6""\ -F+W:YXPP*E-!'#]3<T$-]P#4M\WTT5NQ>
MH3(:5,D ;>G4OCBC0>LY;A-N!:5Z II>\>#]N8=Q/YQ!6,1!CD+;>MA3V$4W
MC%F*B>X-:O":+'U$(94^Q)Q0QC,'=G&._""ZM[0+K\3Q=04X^ \;_J)!%?#%
M]U3M9$8)APKL8#D.;,LV?53=WDX\!W\+AP)J[<W-=1['^-WTG;%'O3YK; -^
MDKVD4(,+NS<P6WUL^4LY:K+,Q3)#DP<]L7L&**B@9F@@^1@[8C)1U\9+VP%-
M(V56T?G2%J;M4Y,@>M;.BXFD!$9[J\#X?']US00%-]U^=I9$N[<Q.H3I@:EC
M! :/+I(0@U'1:TD<5-$C0L8C0?<>63C>*W?6,2]GL/J0R$48VS%2:H/'I42>
M021U_TR)EI1E)'/2.2[U*"Z6AX<<.I!EDV/FT"$LWQ)N>C69@%1 )]6]!WH4
MT'A^V,I0A:V4B_>(SG3GR)6V;)$KQ2OY%KM Z8S'EUH")2W"DB9#+$L4=)PM
M/G%XMVLR;C3B_I2;Q$4"DZ.[_+I*KYAS,#3ZW56"/<I*[X'C3NP%*O$L*C:9
M[;&VO=XP"HP#VAK.'GG_Z47'9&031/;W6 9C4 Y&4:3U+RI+42)FQL!^I1XM
M@(C:S[,=SC0:S/G+U=7]>^T*="AZ'XM,,>:<#1C;:)EQ+-!FY@]@YN@O [4;
M%.C4PY-SI$[.54%YE+T]+M&> +-@I7%76\T5<8U>+5R#5E;C8@1!F7Z=FOGY
M<)"(!R#A,0^@"40\LY]F<.MR;-@2BYK<@Y#QD\72G\RHU9X2/ZCEH/K"*#28
M+V2W8V O!=I'./,)]T*"ZAS.@!WY<)T/J,8])FL-+4Z;"]2!@ .I"WA/9G>B
M!SOX?@V7.CO$O[)TWZ^'[M/3HPH#G9Z&\SL_8J=F"OB7V3_GYK^]B&Y1#; \
M&"5$&" E@E VM2EY9G-.!8*,3?<[3=N8+YT0%;'(3<8OP@G7B!4/=/@Y+'H*
M3@'NYUY@,R4#YK)$*\#XE4[I*P%6!&-\X5^YQ8]IL$K&6?3UR^WU.VVYH%%7
M"S*!FR8\ Q6*S%@8:/LR00X#*\3?\*_0D9<N'[OFR%N@0)@DZFI10MGQ,O*B
M],W-3+O+@U%X.F2<LU=WTMZ^67OUI>UE,A]_7CW]-!SBQ*/5[QPE6-LE<7!Z
M1,=XUT"KZ6+A>R\VB'VTT!9DI7<&I>J._&M-AGQ^_4S<R0RC!:Y>[.""W_N#
M!S(AH![ UOY.O11YOWQ\71#ZHVL^^[7O\-_^CNPO^E) ?P*+CMY@7THES-\#
MK]@J_.XQ=P!8[!,QXMSYBW;)Y/GVFTMC/6_^;Y2I%NQRMU6JV(7:Y7B7UXMQ
M_(W%V?-KLA]O #95*^4NBW(MF4>$GEB1_ZO-\@\P^03E%W-VO-<^!2"FHU]=
M!&1R8;]<S&S+(NZ'Z+3[H->4^-JHU-=ZL!M_>)]^QF]>9O]3*IQP X=X\HD9
M,KN\6P3=WE 0@_@&& #<_B#NDOQ!PL/@]@^O7MAVUV&K%^UN/Z_V9Q7&<!:[
MV\_;W2VLMY]76&N][(K:X<T[#'P7@S@PORY(5[VG.6(88D<*6>DZ!^:,M1S[
MA?/E6E;AUUMYW%J9)QI@GDATF6*KY%K._%'6&6E<VD-*XP"6<^4XWC.]]J(T
MY2:+W[P@($>S4.86GSET$XP-X0:/F8RKD(89)IG)B;:&V8_ ;GR8$USQ[0"V
MS_?F+/S89-<Q.\I=SF88\S -M">D,X;3&5AQ]G!^%AE_+#XM_J8;Q0ZSB) G
M]B*=;TR#9-#E^O.O_[BZ_IG%)V<2CG-3D@LRD%.?9=.<V;/CV&9X9TE#Z^B/
M;NZOT\^@\0PKJ<H!,_PNS%?Z<%#OY@$/A\ <; S'1-Y-=[R FW88+\6=+OC6
MB'_+,E]7,M_)#]-9FB$/X9LPTH"S_L[R#&*%]'F&/J87N'O3X"_^Q;')$PM,
M7.[8=F.[X \ C+<,4LXTW(3_+ &,6&OC!\'8']Q)YB K$DES\Y5? VBN+IMH
M)(E_2F<,PF;2U07)T]-^N^A'/Z6G!4R0I6?I\/,@C ^$O& *,*$12-%J0:J;
MRW3C,CT+Q<CXSV-;:R9S*7A-2F!0,R%P%S1B67@3A#.Q?3PIHB$*"7=S,B<&
M!JQGV#8_!(>R[2R($SML\:^P^( ]F6$T&4OKIC] (RT:7VCP\PLJ)&C\I#_0
MO"C'WB<X"(4^!B9AQ#8<N&-/(S:8X9L1$.CWESYR%9ZKD>"-L<IH<);9P5.^
MJ.""UV0"B P8[5$K$?!C^.[*XHF)=M<@F7MFS4B=.#W&YM.3I*D?&K+C\/5B
M_'K!_D*:MOG^YNY,]NDI?Y<VLS%H'-DO_31%0AKFXS-*ISG B ]^M\5X4?<_
M2_@6D#!L%%8MBD(6,4TX18:P7S_#+P!!KC<'_86R*=@<GZ1W)V%*&W?^O79E
M13F9SJN^4KH#@^!P.=P2/EE!U/I&?G>]9Q?Y#_7&F]3K%_/0>-^F2PSR3V_?
M>RDH5(I)I &-M2L2*($L3#!@:?8< 4FUA6>0#^3"FTY!;H) 8=EMKAGR3I,9
M,<&PQPXM.H/WVJT;YZ.OE,_P'"N(9!CWV+!SLV,/"I:6X,^=()M@7Z.\@A\]
M)8)5KTH4RH'XY"K!&J( G\$6[V]>6;*UH-"9:6E//LXB0_=3[:\%E_#!J&K'
M^W6#YR\X>*6JI[U>2S?:ZXT?$K6PF-5O6^6P77F5T:!?/?^+MQR'TZ6SOO*J
MS2[Z_76SE%(D.(>8>KCW*%1I[@+(R24JX:A3N!A('FN?*S4E-L/D0QTNY!R7
MY7ZW\G7XI4'*[KMXW:5>M/QHX5%NM'"%<&'N0P0%^Y'3 =O/;,%4 WV6W(\X
MVNYJW0%;Z1J]@*>73,AQ-)G]NI0=NI?<,9X/RT:W!!H2B]SA@BF\H$.]L7C1
M:,CB6H/ZPAALK-2YJ5!G*CK[,+NZUL+=H'C+RV':@KR2/5(.L09.A<-.02EI
M@6U9>30)WO_&<&]VZ9T*LP4):\N:$T=_@)+FVY* 1%9/7X-^U"DI9]SN@4OA
MY\QELY+4;QLY2E*I9@\'5)*,MMYJ;^B4=/R3K$#K]4F9^OH@W6#1&L<.9E',
M2ZH&W[%HOD0; QDG<&B6L'-WC'X[KSE@V?Y'3ZX_*<D>4J"![UVE(%.M9>9H
M0]>8^D]=?BVA-LYQCVG$M$[-^AW_K?%.,8^F,8^\CHN[-D^+09'#/ZHI%0-]
MU%\/J)#D7)5BL9$]7,_@N<P*K%B!C*S@;1$O$-%(L9PN\4]T%MP!2JH99O5>
M;]TN6^-1OU-ZPS;&0)U_U*EHNH'#$YK/CT-@/DBRQ2_E[6ZR<)/*"RCD/'D=
M+7>[PI2TN?]BVB[^]\Z-$/F8 +(*,Z*5E> O=!=M: O8!)Y4IZW]P%;.^-_1
MJL43@[_.R]:Y2JT=H%8+I+1#5LE5'IMH^3D7<9A^<QS,1V0:Z4TM:5#-+3Z3
M4_9)->0H7T_I[=9>+N]*53.Z9>&5F7"IE(V&%8&+&KD4QF-L2%T:Q *Y-;KH
MM/[%&Q'<^=]8C#%+WL!BI*RP*?]\+2/C6$:$]KH1(8EY3.5C%!9VL'V+Q>OR
M(GU;8H%B7R<SK;/:K%&%M:BX;QS)2R.6IK;#+?&8?NXO%^'DM:C4VEIBAIRP
MS\7HF35E.T3:QZW[@[BAY[\6)GVL59P[RBJCN=E'3^8X>LFA=,7(>-$TK)I6
MJHJ"JGG===HB)0BQ+ R+@-59R@%]TR*8<6"[A"=L82?#K9QI:OM!R!IUV6YA
M3ECJF]XRU.8DG'F62O%J JV#6(3[2?AZ[V"Q2=>ZB1)@"FE_+7[L2,7KV%QI
M*'T\4>U\^$!F Y)4I=5,"TKR-&C6QW)QK,'( KYA4[:1$#]VSL/KU84#K(&3
M;9($$>4#T PFT)8T+/4<E\$S@X"$<8X%Y4JTXB0LQH)!@2EI;VV79:*^>Z]=
M>P$KH0?:2D PXEJSYZ@O\HI[M#GE'-OQX>_C.6!R"&-N^ J96*H)3T!PB*A"
MM0\JT+/I\,9,44N_=YI79C7IN;SG#:VC,>@-%+\(/^3+YM5WJ#9,*_ M<D_F
MO?80M53$SMG%+1%YJ]2H]^%O.#;MB<FZ'&)OJ5*U"Z.>(4E$+%L&MED$+7WI
MD_IK]E3C6=02MY%AW40'_"<]W]_P>#>'P/9;QPV!;:="8(?'#X'--[CEU0K*
M<2$<-A*Q?9Q(Q-]H=:T4F4MBD.N+-+NL&\[>5- 1_K61QE(E%' _;U/;R2LG
M/&!C$?J%WVW7GB_GT=V\I-H1$>^4O,G8UP:9FSG68_D ]VN4+JF*-+&6F;_5
MW</:/G,BJEF]^);1.<KI;P[W//[A8PLI88<_+#A\+"]1ZO3KC W=D?UFO24G
MP7X_8ZL'VF=&\6&AI!AM+'P<_7E$MCPJH$RC+&4JOEP;&$2RZ4ZK  S=$V33
M)Z@E_VY.9K9+_)6+K.+1>Y%EO*OISP_+F?'6O)$8.XHQ'YDQET2 4';<+I+-
MO=-CQR>H-7^A'A]L ^)YCM*4]Z-!W$SXZ!&W\L#,MZ.8KT3,M_C@A?+<KHC[
M4(-X[@FJP/\@,WOB$,5M]R.Z:!L/S&E[BM-*Q&DW'[I0+MLO./3^Z3'9$U1L
M[Z93>T+2,0Q82):UN5>,=R\:9%M[+#-#D5].\=]C\]^M9R^4#1>YY4[1P'""
MRNYON=%8B@/OYQV/-O5XCKA.D2.NK?CPL>,CRB% )#?N%GG?) Z2D#O?ZR@]
M)KV0=DC@$;I1'6PW(-JS&13F48WZ DHJ?$F-7*UZ;UL?MM>3D_7BJ>>UMUOO
MKW3@J7?;NM%;+R_'*OT73C\O@VV]>=&!I]_IZ]U19T/9Y"@0N'(S(%YCNDPS
M(&U[TS;5!JBI.2*_>)[U;#L.2*%;-\16)5C_@ ;"1Q^Q;)%,DLA@+<+Z*,N.
M9D01>4=[W-P"]*>@;87D J/"+2U9A<:6(6DSXT-7V8[W*M4B@^9*Q'U_\574
MO!S[ TT(R\V8FK;/VWA@0PS:YF=JT]!Y;$@694E@$3]L4$S[VHPQ\80V^TC5
M]GNOQ9.P@R(.XGHAYS11EH@.3Z0=)GSRPR;//,,5[C$P-VI38BTO3-==TL;+
M@<U\J6,2/A,2?Q 2S$RQI]B:""Z#M(\,KBEY#B9[\/W9U$[G*5K$RA38&-A1
M:6N)_[M)Z#'NR]@N)O)Y/G9A(M@P(X2'L-8@H![\H,N;3)8^[0,_L?W)<AZ$
MK'$S'!9HF+S_!EL3X0U_3-]_Q5P9=G*EVO"4.9(QRS\"8" "LGN$_1UP;)Z6
M$WH4','F+1N_8NX.BD"<*;$I"9N99D+L">R,??P$>YFPC_ TV00V_"!.A:2=
M5NC#;8HBNMF._1W;\K+6FR563C<9EY<E"!,I"F$**T % )]/^]S0!V.#EO@H
M6(>(]]IMIHY]>IKL(,.R]%'K.FAC#=:;8^U8RBX \4ZY!F %D,7!0*R2>U3_
M^N,)4MZ4+(:O)']W:'^2W$]T3KO.9.FPM*_,'%F_HM59TGYD?%R<Y]CSOO/?
M)"ES$0G&.UOFR9F^\-E'Z_PG;)I/.S)VQ@-2YUQF-MG32$\%WTJX"JU/0<]C
MXCVY-,G09N*!=:$B_Z&RP&-(8 O46<=[MHDT_Y#>U/@O8$KQ"K'GQ,2,OTF;
MSZ1GJGIZH,^',=M$&7.H,F8GRAA7&VB7J8#N<*9I#FJE*[W F/#.D6T,,*"T
M)+^L)HSUADMC'04JXP91VB_;9F9Y&WU,DQEG%MF9O=>^)M] !LM:D$6)Q,@C
M'9M,+U#)N_"]5]/!/%ALT65.9G&"<! LYWSAZW0='Q(^']_ 9%7>$GMB!C-M
MZGC/2>HQ(T"ZI<_>TK&HF#!MB[9 2C/@,MOE/;O$6ID%S5%Q@Y# \^!B@[:8
MU:]0E=9T61=-UOWQ59'YQVQSKUAV<^[-92'7O%/LF=$Q[7Z>OK]Y95E&9.N8
MVFA%X2:/,D5TRO4ZWL&\@=^<HNNH1#_ZGM$MTVB^9_3*?:V/L,[O1Y_L]0XV
MET-#1<(KMV@SD]"Z//$9WOE?[&#A!:9S-_W-<Y^H68.9,HKJ=@R,(YID,IMP
MF[J53S6<,C?%2&U_$6WHSW)&V[.BEH?9MKQKFHR#^\58'^=W;T%#75'BN=!:
M896)^O/N/=OWS'-8Z9!\\PGJ-P2-/53!8:H-56;H'2"KY42:37*16KD8'<[8
MP"\+H%Y$^L%J$TY@QKGJ1.;ZD#=GO &Z;*N L>?=(2*Y8]G3*?%I\]/(O+2B
MZ="NT'DZ*GO^:5O"BTOGP*(9G$E4A,.R?T1U->Y_^>//WPN[ED6NR];VLAHK
M:_D85?TH0F>WRW#'9O8S3"WZ>Q8'DMQ?_7)S\?GAYNKO%U=?'V\>/L"-\-E\
M#:+BHA\T.%6R,M49X:5!L#8FCS/Y2XO^+R\$A7_T1OLY=Y=^_?*0NTMTZ],#
M)VLVM9F/XN<OH3=Y(UC^ [>CUF# ^#5*.AI58J[O(H5\YO33<(C0LO:=9CE0
MOI!Q83VM0;L65PE.2[N%BQDM=D0K-)V'(*8+CV0"<PI8<#&9L-)9M(T\5N^F
M)B(X;I=WIZ;U]&BUJ&C/L  GR$HK4FRHH*95JBP< J6KA16@V*7'2E7I"NB]
M&6MU\G*IWC)$86JQ:EUC7L KKHB%-W-D=VA'C:(#DD)>!*0/=:DF7UJMYH6S
M"A([&C/1\>*MYI-/HMI7!4[OGC':NXXZ6Q#U>-]-69TM6 3%WI5KX<%\X>=R
M[Y.YO9Q7\XOK[<YZX>/"@(1>N[5'0,(Q%]?6>\/1[B$+O=7^?CN%+!QY@3G-
MNW3&*0#!,4E-HQEPNJ4F ]\&VD?K A!I8DC2GDFFPEP>/?&"O?7;$#(A$MI-
MK.KS2G6P(4PU?8TTW!6^$_$GJK,O?+(P7REUZZDJ>&;J+'-W(U)M7<!+<?'/
M'X0MD.T8>EG1((-US8,/6U;<H;]D)WM1QF+2'KRY_&M''PY['R/31O$(W9U'
M&-$11NU.R1%ZNXX -$9',$8E1^CO/$*'[5+I$08[C]"#$0R]U1Z^CRU-9WN!
M:98V>NM.O#EY-%\*5=).3>6=<6X:3.YX]9WE,0K1/O?7\-)?>#[CS#3Y'PB5
M3-'[9/*"]<Q4P_8JQ+W"(!WD^6'DJG1L<VP[=O@:56/6L-B]CV+$>>4>9=JA
MAH90Q!(5'D;=;]3)-6'U44W65(DK%*C3QAZ@,77T.*^1<,HT ""N2:TP^$S'
M? YP:K'+/NW(0:64+<)\I9=&/C/G5:/+C*0<E2_OM2_19#,;P()T8'@K,LN0
M.>ZB_YHRS@09ZTSR>XP.XHOE=C'7BK<PKL$ %W9_U4;$CB(IQ)KX?>%$%EZ
M#LM;EP>@1-OD$T#!?Z,#2FLT.)>HLF[:D45=HA;QQ06M!+AT.E<\+1]=V-'M
M(&<V&K4PEC;/X?+0D8_@7CI,Y8A6'5UX\D:!%5ED06@Q4VVY\-@Y/6%S@_AW
M' SP*XH5?HBI9@M<#7&YYQ'0CV[@#6A@/V87L;78I6375T:C%7]MCZ,!;35L
M5'9HP60&#\26"S[:3P/365MO"ELZPO;?&8/ERF@4?/"CA6.R!NI8MSDD3_3'
M>)-$7RO,!][3<6IS\SO;"ZJ*19%/YVQA;): ?D"#^Y)\];TYVL[P O1/.YQ=
M\YX>A6*[6XO8YC/6'IAEG'7?VWH !W<OCGTTEJ8H.HIYH#&C.&/L66-CU7+G
M-1UV$K51 =(E01P5P?<_V,@DTL&RU.X;UT<'JJ0,=T+E#,JJ)[3,N$R&SLT
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
M\J9+F%6((R^L@^?7,2:&&%K,Q(;[G+,5V3LNU^VXGY%15*"G2@/Y9(XHF'O
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
MANK8FXW'&@-'C5B40,^ SN^K7@STE4A6/*3!&:W32!^H]A%U]"70NP#TP0%
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
M>%8>;.V1T!Q/;UBTF':ZE&QDKV%HV>O)PK7P>?C^MG?UY7;XS][P[MOMES<
MSF?O)<[D-9KH [(V5%@MV!_>* 9*AM3S\)-&_\=S2J0?72BON;/TV\T7[BRA
MK%FY\?*9/642H=C^*0E'%Q4# 2A**0>PO,:M)DCB7U][F[-(!=O*ZN?A\.L]
M[&,+O/@@$^&-S5]P4?SWM6'_?6W$RP%3H*2XQ9>YZ:.S=Y&.XW,4*G>XV2@?
M K;I +&6PRKD5)6C*47B2FZX*G ?0I"XV+X%=GQO/O83D%,SF!,Z%\"8Q9QD
M$@HV_9D7O"B/((QBA3P\@%Q"R0:2>TTRQO#]</XXH3]+(B^(V>8<*Q,/Q.6(
M>BVIW"Q@JO)?7C#WHA=%5Q44P0MI!_3]@L4\\-X?PX047417&=WAMX:FC][>
MD'@4^;/LL3)]1F6?C]_2W>-A'M&R$BMSP&3\RG/Z 84MUBQE3XH<N:QK)97^
MI5$*0"NZQ8IJ.&8>)DV'_^><3=NTO)QV"&2A7,E1Y6,81 17$B T'".VGE N
M4$'Q#>YX!?OY7Q=,4S4,UW*P= 1,OS=#F1;-22:Z?J7SELK6?UR@19),IZG&
MM?@[GGFCQ=],3,*&2^^VD':I0A8Q26S_O)"4 WOG9K*'<*1+X >HB^#.^(.Z
MDYF6M_1/ETJ14?A>[(/<T[OV\FT'L-JN#X\-BQ;\XT+7"G?\BI650X)#ZI2Z
MZ6.R;6>[I#KLH_\A7J3<!BB$;LB(GN 4,Q5Z^7^E.UI=:\^-Z"B.WY#\6/##
MD/3820_<K83!L@2'<.#0)3@D.(K--R* H^0NN!JMV.0NF&G,MO'S8>&->YF4
M6"CC5V]*XC>U+DWC%-UJN^GZ$W7]^G)%1+O^J:Q(!TXX-<OSM3#U8:Q$!%M'
M5Q>>?NB*UW KGOMOFR]9-X]S)A\RE@*7\6 M>FFK7;#(%_R%?"?!G-Q%X1/Z
M!/ V__*3R?4\!OR2Z);:]-$V&,<$_H^%EP\K_J3:CJ7VS5K"]@Z9V,80)L%<
M"LP&!\SZ$LRZ2& V$<BJ[M:2_B#!W'TPFQPP:TLP:\* V<;"999KJT8]46S'
M@EG\DW9J+8#!YY2H%1UM)?JB*O?5!?5\TT5N2BO;]JC-282#!E"W:-@RJ"+Q
M8)52W/[W:^(E!-VQ7T<D\"(_I$%_F1.W3*1?@]K=P$0YTHH,Z28N6Q^ @,2P
M2RF!72&&A9HB/)EJV.ULKMW$9>L#$) 83BF%LBO$H.5R^XZEFDXM^4=5P*)R
M.^ :Z+KWI_"Z>%.>KK2YN9<DD7\_9W%O2:B\)P$!$"N_A5,$5ZQ\"$:7TB'6
MC2?J^O7EBHAV_5-9$>D0DPZQCIA=W0H<8K#!?Z#[^^]A?&!CT<% M;5:&E5)
MWT#W03JHP-%U/$AM6U.M@71@29!R0#K0M H<6!5(4@"IW7=$!*GPAV$!'%/*
M+_HKZ9SJEJEQH)6+*JK U'BD?+ NWEF:H3I]:5OOT  $!'RYR*/V 8]^5L=0
M!YJP-G,Y@$X OEQTDA" -YR^:K:D 4HGD702->,DPAI#0,FG)R!J/,&21#UE
M[$_GVRR,W30DGYYI_'2N+U=$M.N?RHH([SYJSU#2@B-)6"6Z-</H ?HS+TIQ
MEYOI,XF^XLZ^KB+?>E& >D#V^0W;]A?*LE926?[P\>[BG7UIM>-V$A55K0^@
M2[#FQ1CN<DPU FOWTI0V/J$&T"58]P]P934EK5U182W\,5X ]];9ZVR=,WR6
MBP\ZP/#9E+QH)WN^F_AK?0 "$J!<[)&H!' N6PI8ZB;^6A^ > 30R\4UB4H
MZU+7125 )7TRZJS(OG=]ZI7YI.T!CAAJOKCTYFKI[L[01/J5-04["6?PJU^*
M*J?3FHFOUB_)O<X'5@@]5G!.$%K>=*64?.(%CSYMV?$4PL__XU%V/43A4U/%
MXQ7Z-.&#\K?M'.];O$V.H^45]'<KVU#G,8A&;T JT!D:YF;ET\.'Q72Q)CH+
MPCMEO=_.Q;N!M4EWM?#A;9Z X^SP'7AXQU4-CL*KTD8OA7/ BV#C"/D.S(%K
MJ;J]B0$E[8ZCO! OBA5"*X<7\2A?51R99*B,2CNJ\:JE.^NP;S+YM6QV,WVY
MW+DYG&AG#C_>V9 #OC*#N<+ZMV.ZHKD/4?3.HUD8PZ#"8/I"UP!^4+ ,09BP
MY0I@L>,8M!;XF1^,?>S']'W1H0CN.)\FM#=1.".1QX1R,O$2D.#)'"3YB_(<
MSJ=C$-3PJWM" OA@XI/O9$QE]T8##?H5(%P\?X+![]\1)"WKR]:'IRPTC1%L
MXO..-K5@[[-Q9>UQ#N_,0:7%%S(FY D)\#$,\,=1.)V"RO$!RR"3..$WW>AS
MFVZTKM-DK3\HK[,61L#U]*6RAQ93053.SC97'%=U<=5IZY)3<YKS<((]T1)C
MRBK(E QEW"=B8CIK!Y5;U*8D]E* PD-DG-S9QJFRP*TMK=$^%8NS/[QH-&'"
M3'?2?37?:,E+VR<JGE)T,N7T4-6=GF:B*-FFJ7R.O"=OLW_WY_GF.937#8A$
M6'S=>R2?'OX[3'(R:-'R<:&T](R26HL!BMMF%:B?E? Y(%$\\6=XD* WP7Y+
MG[\ (L<PTY$/.][7R^AR>LFV.MBAXOE][(]]V,A@77]AS_KJ4L&N5T43R6FD
MN9C(3]DH]IV^/_P@A/5^R69H<:'E)%Z]K'*-?>6@&31Y,QBL,GEE&NF#T-W9
M"S8Z#*ZU*2Q0G0>Z51T*N<5EBO>^6[AP\G('P_UO'.UA.6.6:MB;$?(45<\>
M1MR,<+L<XQ'5@[\6DK)@?I'.J.!@;P2JX=Q[4R\8$26>$)*H[+2[_0J3< K[
M\T)YHF8PC 6-"&792ELV^C:.B5)@<Y$O@3"%XNB.W$=4O8*5&_#$T1,[+N#E
MO<>(4#.7\NPGDS+/ /AAXU 5P A<";]$-<+%I>Y?E%^QKT4VPEY,1CW_1V_B
MC\<D>),AS;YX]P!JZ:^O\;OOV$E&I?U#G[-KYN:$_ ">^3&APQZAN2%D[=_H
M9.)$*3,/]F"0(GXPBNA(X/D24("BQ,,EI+O#>!YE%R^80S8NF+<>C@J#<_UP
MS,Z=H,E_]].'AJN7F+%"C9TI[-,P>$1\D.F8;7HK*)G-$R8.T7P8XSOYN9D'
MB3\M!,1P!B>!5-G6+QD@OM&^K E]I/QLLA:M<,Y8M$3UE"<X+O@SUC:2I-9,
M%87SO[/.@<K#-(3C"UZ,6GM(]+3H_IH71@N,4,:D0-P)Z#^\%SIT#I8S5(RW
MP8(NF>?CWKO6AG:7(.2Y"D&MMQ=V%'A98$,H+Q,_>R\4K'=A](5D@_STL$M4
M'I9-T5=U9].%PE"63@]N($O[7]$4#3;WBD/GI66-1=]#8TFEWST*DC5!]7=D
M9P*SMOG3E-=AT80:6C,3FFO[_34AL]P5V?Z;S>F'()U4PBS#\+1?026#30O6
M@+LJ^T^^?O'.W8SM^IEI>1G-01$'9J,\C?E$7P$P,W(\@=#'Y2F:;[U@OKN@
M*>IH>RN-7,[^&'XG4=JV^D=29M<V@"S)<YANV@S4=.>NK5]JN4ZI(K>JUF6K
MZOT/YM6TJF9(R?!2KD7UQB)OP<1W.)=ZN-0!4G6ZQ3RSFA>VPY*P4-V9,8&K
MO9<R)AB\8]R@IQE%Q[AK#R3J=^\69,?CR]=P.N=[/UK>JCG>D&T"+WT@A3V1
MLG@D5?D]&2N_I!_OMB@8=L%LKNX31\QALQ8&:["?A2&;2SC#,CH=9V<PG/H
MVI;= 53K3352#+,#YU2YG^TAG7I&E9WWB^EQ*\E4-+AL3%"!\W,773O&TMO[
MF"_[D."AN80JTN<8$%@T EZ8 A)0F .IJL A%;XU]>$.\UG:"SX-10C8F3 S
M%XS\:#1_BA.<[OA2N6.]Y-65,;,'S2NCU";@)X5"_@F.LU2LIU-]P).[#3YY
MI9:"<M:!2P;7G68!-+OG?-GYI8EA%R;,&+JP2QUTR#5XAUP##:(%9[)N[*1[
M''HSZ8].ZGTM*28O(L5(3<K536;+EA7+X47J9$:"I?S=;2G(SW>QO<#DG5^-
M'?:""K IDOT W4V;U4%^+BM"7DH($#139@(DH=(P$R(+T<)B*MAF2'?W[]0H
MN2=1>'6(C*7)L:*5;9DH9G]3[*C*\\0?3=B:H;)$3;;4)3'RX@EN+A/8?TH;
MA=(P)%1U%G:W_<U#)L>1N @>[*C:;VX:?[DR?W^EQ+2:4TI:C@<H%5!6]R"
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
MH-[@!\9^D8.+2^2UI4,]M)P#?@-HV9%<)UE1#RMV^5> '?K%NU],YU5JXQ$
M"D?N):NE"3N[EWS8]%2<Y"92?"O!=A+CT)V$;Z3KZA:"%0(Y 5D"R [)B]JF
M>;LA&XA1U(/]?(B1;XVF;6L5V#Q!7NW,?BXN55#YV9:&BK5H@UV861?F_8+(
M[T7B$B^&A=KX:9(PM>JS+\XB,O/\<>9M8&[OU"%-KY]@1@!)TM #^ND,L(W1
MS\J49.D%[!?LFUDL\W97]2$A1M1;RGPK]<U)]ARC432'-Z9+\V[N*:=A\-B#
M2SWE/\]N4?V3Z^F3W_[(\KM7\[#3 !<,HE"W6.:7AOC\O!R8*Y'%XN"4L!7'
MVQ2Z6SE]S8L#M*G9O<#8#C*/*PL7V26+R?I Y^G3 PO705%^6$RWKNHNQ]N<
M1M(!B?*^$6R&G88IY(-[GL/YE,;E$%R)) 328602AM^Q=<I%IH2()"]AZX-
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
M7#584_N#5A.7) O/C86\//MJ6"@&IPQ75RU#C)2!,J22YE^9'GB^V14FKY9
M42/R;JC8%J8'ZHZE:G8[1F&9O"3IA?0J&3?44?W9[@/+VBTP+1EVW@RSRL4:
MB<$7$U,#5=WM#F-VI ?FL_-$21"4V7Y"'F)DMI_ 20&59_MILL>C3 &4N3LR
M!5 "1*8 2I2(A1*9 BB6 5ZF (IAD"@V-/ <=]K2T*"=50J@KEH#6S5=4\0@
M.LF6]MG"\RLUPA9AC>6.KNJZD$&GDB_M\X7G**J&+V*@7U=ICH[63F"(C &1
M*8 GD:=A\]Q=9>7$Z:8 TEA."PM"BRA>)%5:H0HOJ[YQJ@BKCAI8VKDE3[3D
MBXA\X6675\\7,=#?UW2U;W=9&3UM>ZA, 11+<E21^F#S<O++"IB32P'471>.
MQ.W8@V3RT9DRD)?EWP@#Q52#,4W 5<V!&#D"DH5GPD)>*GPU+!2 4WBT-!QU
M8'5G:Y/F7YD">+X9%#:O+@!'''5/Q394#91LMZ4ZQ3)!2=(+Z54R;JB+^C-M
M_NN  BU&)1O)L/-D6+E8(P'X8M-2R*ZM&IH81\Z:4P K#W#&,>:&ETL#)'2!
M2);6-_:_9YEZG]]__/./PJCP;*:UW8EZ:P_Q-LLC5 K"K6V+QEJG(WL-0\M>
M3Q9'CL_#][>]JR^WPW_VAG??;K^\4;SIL_<29PQYHP!4R-I0)X0E&QJXBNE)
MY2>-_@]^MW&(23^Z4%YS9^FWFR_<6:)SGK_Q\ID]91(AGWY*PM%%Q><3.(70
MU,SP04%"XD[XZVMO<Q8I"%=6/P^'#"D;WZG7@;$B1?\-,L1_>-D2Y8VB*_;C
M!-X ,1'!,/"1O3GP$S@U4B8@?F"L7C"^?U$>24 B+PFC6(F\ &[W"#A3PGDR
MFR?* \BN(ASV+^V__L6@F(1%7]1M[:]_J>R;LS!B*;++6ZL*OGQ\@9^'D?<(
MHWN)0759O@]S!F^C\@+"CUHGTHBB.)S.44[ 5^%YE!!M&3CZ<1A&<*=G^(O\
MW]R?X4\OE6\3$I/E/'D1_D'&X9,?>$$"\P27&RO)!$#^.,%H)3(C-"]6B7+S
M/"8@HW'0F?9$;QV11_9'1!+/9U\@0!3JQ20*_GL"-\%WIV241'C0?_W;?P^O
M7\--O4AYGH1P,$ZOS-[R UBE*7N'/AW_N;(!T>=;&>GB22.V%V7(B!$0,%7T
M,)Z]3K^,*QG.(V7LH\/UGLXN2/DH">@X8)B, 8"29!X% -[I5(%!13B2M>O@
MGS"!]+;8\U6%1TIWO>SA6)8U/MV3YR,IO0!F*TYM4)?*![@#XG7DQ4@5[M/A
M.M*5&_L1X=_Y4ODZOT?,XR]AH3T<-'ONH@ECUX:].X@?2 10R:X]2G=QQ4L4
M#Q8$AHZ\28#0E\M=I+YM:RD!UG>N)NYY3<GW85/BP)0"<!\9!U&"P)13CD0K
MDF8.Z@Y.5W8=;S:; A]2(C^#EI1BG%T%?C#;(6!,U4 1<\E$S' :ARG45F^T
M IFG\-Y?$T-3W/[@5L\4Z^D7MLFF].,)@6,6?)TM1/KF;/XT2UD;$0 YH5!,
MHI#2&96[] G3NR,)B@45!?CC-+RG^,W)J"RB<D%8G&&\\4).W7Z^AKL_S;S
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
M?_!&_M1/7I0' I?ZQ9(^1"'MSH4[&B_@8"\G8@XAUPB083"^IO!XN4-XP'\
M'(<%L:M:2S'L6R:RB?U,0KLR://\XWMY#NN#MF&HIBV4/T5BNTO8-LLU(6X'
MVZIN"Q7TT16C6'M:7E;!10EGB?^4A@CF0L5&$[@OJGBV5/&Z)RMXL05[J7@9
M/#[ET'%,SHVEFGT1)82 >&I] "("FN<ZWTNQJQK09JNU!"2:.XWF<FUV&T2S
MCAJ<4,4)NY(6V9X&]WFE26=$'N=3+PFC%V:NFQ(O4$A HL<7;.<YGH^2I4[G
M2)VN>T*C7,.* J&Q ,Q=&'UFD+AFB#C._>38JB%6L6"Y'8J&[")@E^M+42FP
MQ?)5=1-)K0] 0"B7:SAQWE"61KFM*AU-WSA'U>Q\JW(7JGSEND<4B!,*J,-.
MA*90A;7/3:.3A. 2HESKA^H)85^\<S6A$CXE(20A@!#E&C?4LD.TE9_3<8-A
M,V5B1^$34>X)+"9!\U_.4.BSSQ+O!XE/,!M"%MY>" ?KF$8,RX*+"!>,![Z+
MPJ=KN)P?S(%^GV8DHFZ'^(JBC'WO&Z+J]D<2>3!^/_"BEP\)>8HQ4QU^&873
M*?PTJ^%X6(2@YJJ6TVJ,H"QH?^:\.J:Q@ZB\<@:Z:K<;>RMY=>:\.J91A*B\
MLBQ'U=NMB'5 XXG7R7TX?L&_/%C#=\K_4Q0E>X2/\R>XWRA]DZO*_GUMO']?
M&^IRI'2@J?**+W.HQ1$B8.X7X[M_1Q56>E\ZL!1V_[A 38=,I^D#+_Z.9]XH
M^WMEGG5-^_GM$2/&DP&;(9BNC574W9TRA'YE[=21A+-J3@<KUNF\',"Z0/[#
M"T_@_?(K><K?]PT<%.!DZ.-G@%[R](X?,R#2,P"GI_,Q7/L1<]A>3VD2&^:#
MC_UX%L; 2;8DX8/BP4=I9A.\3Q8?L/^.X*'@$NP//_A.TG)**HB>B,! _D/&
M.,*_>DG8P_^29*6V(LV<>GH*,;::BC1D/?PZO2Y*#P(/HXSF442"T8L2D:F'
M_?%R%U%9'$?ZB]D\&DV\F"C>: 2'6<S*8Y]3 ?>(6>[P,O;'J93+7^DRMW %
M]):,:HY11D<8]07KRL84TSMK3"5A!DYJ9XB3</07C2X'7*H*;J"P:R#(V2?+
M4//T[V<O&@-UX/$5>-O'D*9X1F"W_$X49"!"'C9Q/QQ+1(N':'-?1.>@!<NM
M!*N%:\.'!RS;$8+F"FK95/'C>$Y0CC. (7C&Y(& ^!PK#_"- -<P35<=S]'F
M!3I8!)-"8:E\#Z?P,U#OX ,R\U[R94$N)8X$PI%U#(XV,I?]@&ZQ !8_ E$"
M</#QHR @[%O/?C(!,.';V28/^VZ,V/(#^!E\.YQ'6?*S]Q@1PKY#_F^.>SO"
M$K!'5%9@9ODGC<A< %,%%#X2*NSH'1=Z "91T[T?T0M(Q9O!L_@H/PD,G:PG
M7OLDEG@5":_VOGB]"^G^IKP0+U)(,(8E+KB\<D-&M).V8NJJ@D9;5:%W!-"/
MPR<$&*(ZRNW3!&Z+(,SML'3SG8^2>42E9!H&G"F=@#L<4#R/<2-'6J#D79R7
M%2]9 !8_ (CFP*@<^3Q:^CR\)U"7NP+5UW-%S6-.JAI*^O$XPJ0V')#_! BG
M4A[_NO[TWQ]N>D6'G $=!QR:X1F>_%&ZQXRF( BH'/"GN*N,TA,%><+/4=&Y
M_O^\I]G;#UF4=7S)L/UM H^3F^OT\3)U"<<($SL.BV8K"!,V*) E4X(/$SR&
MN(3+U9'20"1IX!RAUV_&E%5BR:Q(WN3XZ2FHE_L/P)%T<\*3=L[-")3[VW8[
MG^:6:R/TOVG\XZ?H*XF^ _&&/_RX=XV)#;<TKR']_ \ZWF*K8#ZL\B:<WR</
M\^F0'58.RWC6^^J 8RVG L';DGT!D J?Z.D&B/_@3PF3'_=>\%<TGR6C%ZIZ
M/ ,;\;^> @<B$(/)RQXS>W3 V-<$Q!H<Q-*Y_5<Z!)BK:.Y-LS\7TWE8ZEQ?
M-<W-9*.\_,[V&^Y$9O/2RS8PN&U"(MB+0.9BRS!Z0IC&(:I_U"#$Y(NWQT0>
M4R.%!SH:9L&J*NT_9WW FZ9JG  D]F ,=+"MC#.S$)JIXG#Z?3$Y3.^D&^'G
MK]?X;##% =4ZV589QGZ23LPL3(#G/IRZX)+>%(O]8+(9P_9T2A[)&%2.!\^?
MIEIK B((WHGG]T^H)>-F%T8)#&+,SO)XSR'NH4S5A;O CQ:6+?@JW:$><9DQ
M@RG=&I])A$K)_;]QXUL[Q8$R#R/!P]QW/YS'4TQZ"F#=1_# </DB ?=?<_BV
M,:#"3;^DLJV<-:%V2W>V"V8F;EAK\H,"F+VA_#KVOP,E0!?ZQ\7G]Q___&.Q
M5^>WKA%!?\5;)?,HX :^(T9Y[2%PFN@-BR;29IIO.K+7,+3L]601?/-Y^/ZV
M=_7E=OC/WO#NV^V7-X"?9^\ESOQ%;U#!(VM#G1#T5KU1#/16I#$[/VGT?_"[
MC7">]*,+Y35WEGZ[^<*=)3KG^1LOG]E3)A%2^J<D'%T<JV&L3?S%NV\4[$ S
M]$WA?OKK:V]S%BG35U8_#X<,*1O?J1VC*&$?PNDT?*;<QV<!A7W^A,:6_Q"4
MWU2,@.Q(#[]HNPF8F$/BW[^DTH'.0DP>\3C]9HGY-DC&;.AS;[D)V,[M[6!P
M->CUS6NS9YFNV7/OS.O>U>!6TVS-T6^S:BSP.S(>@@2_<J[Z5W?V36]X,X2?
MW-S<]H;ZW6W/<(=.7Q^8-]J-E4%L?Y4\A3/,*87/Q:K.V(L88^R?%X@>V#M)
MOP>(Z33Z(,Z#A 4OYK5Z@2/M^.>*VJX/CPV+%OSC0M<*)7-S?OBM0:5U,BU]
M3.JZ+=A #OMH2!UWZ;:]_-?].^Z9JS97NDY)T*F*DI(.)TB'_'%=DJ)+I# D
M)W9R D_:PF!9@D,X<.@2'!(<V\"A"0,.F?&^->/])GS"T)[1.2:]KPR@M5CN
M_:M<V&MQVG[>:?,U\1(:(Y&5*/O*;#PQ]=YDRUW&9\-.>@=6F]1,0]5<H4J)
MMPZQU@?0)8R;'(SK(F$<>Q09JJX)556U=8BU/H N8=SB8%P3">.&ZM@#U1X(
M53:_4_:-]C0[FC45>,P;=([JW?E6K"B2.?;!NN,*H&H6/+JJ8Y1*7RJ0;0]
MLHC'(N=@[;1I%MFJTQ>JDIADD611RJ+^P?IODRRR^[;JBM45K5/&S=H++BW^
M&="[?0N3YA1>6:FBMC$720YWNQ9;GQQ0=6>@6DX[G>=EC1:)?$3^8+OF60_R
M+33GN_V^VG=;+< ID7_>R'>T[=IBC49^ TY0EM%JLZDJZP?E8ZW70[X7*E5E
MCU NW+M4Z/9JM/>=<3?4-?>J9]_>7O6L:\OJ#=W! 'ZG7SM7MZ9NW5[+:.\S
MB>23X:TUAK?.(A"(WJ(YZ? I!$2QAF<RWE6R1+($/OH?3.V^I:G=,AZ\J_R0
M49TR'ER"0\:#2W#(>/"V728R'KQU+W&'X@C[Y?I,5!!22$O4Y,^$\'I*\,4P
M&.>/AJP2,#S&<%&08#@:D2D6&"'C_!4.;)=MJGU'J'[9K0.V]0%TB3'E.DB<
M$&,<1W7Z0O6(;AVOK0^@2X0IUQKB5 AC7;RS396JK&(21G@[CHQ[E[&&(L4:
M]LTJ=.3288="2#'T7QNJV6_5>2T"(UH?@*0DCY)6%4IXYRAIV*K9;O]$$1C1
M^@ D)7F4M*M0\SM'2=U6^[:PNZ3PUFH9X-]^X.2)!7OVRY6H%UVL.*IN=:?U
MI.31Z?&(UY"@;*MD47@T,%1-TDC2J$4:\=I1E.V,+ J-'%?MMVL+.O5$!IF5
M()P?0L9;"QT6=MA'U][,AR.@<ON#]MQ)YA&1%>DE.20Y9#+"B?!#AA3+9 0)
M#IF,(,$ADQ':=N_(9(36'>0=BA0MV;FUPOK&G[T7^L-OX7#T?W,_(I\C;,^=
MO'R>>D$R#,:W\.X,OW)0(*@S4)UV*]\(!\?6!] E/@R:2C5H@@_HU=0TU>FW
M6@1-.#RV/H .$6+ RU:K)96@(4+8NNHZLD)^]]1+F2D@8R Y\HF7&UA?ID!3
MN[:CVII,F&U[ ))Q/,;QD@OK2P1HZ-PX4$UQ\P?/9@"2<#S"\9+AZ@OS;^Q@
MJAJ.L-W8A#?SRBC^]D,03RQL<L#+\"L;Q=^0U' =57=;58QE</&9LX27=%<V
M1K^QO76@#@:R\X6D27LTX:6$E8W!;X@FCJ'J1G<VDR-"["L/W< QLL"-;(1I
M:$;-]_WW/$[\AQ=42"=$N0Z?9E[P D,P-'WP-E9BP$"L^(&2P*=_ K+(6*''
MHEB),"$C!J@HWFP6A3\ !PF9OBC;,:QQ?1\<V^)U&& H2T2G_HL?_W7U<D6"
MT00>X2]Z]OJ*P_I"OI-@3CZ2A)V^>#_[]C(C]!?O2?@8>;.)/]KX5OKKQ6EO
M^55O2G_[Y]<<JS[/([).JXU+?B81ON$]$GU!I)Y1DDDZ:&6;EI.?U<*9+5G1
M[;QGUH"9W=S$86:QM'_1[)8L_R5GES.[2OB@)'C8384)7(M*DQ?B1;%":*1V
M0;#:2A2W@D("B$"#UTI$/[*%+1$)IX(XBV<$AOP=9-BE,BPMTGC:ZR$B#>#
M&O4LEW$8$>_D(-+?=!7_O)-_/-WG$.EV-I.\6>J2\9"WQ_N8T^8_^#0A;QJ"
M$C4%%HP5C\Z4XD7X[@AS,/F*@!?CI?>B<*;C /-V,S1-WEAE:*8;9<_Y<?X$
MOQBQ]YI0E[B:VJ]C__L[FM_(/F,CQ#?IJY6AEC,-K0+EZWPVFU*0>=,K#W3V
M$?DZ(22Y\>/1-(PQ$>P;7/(*UNNO"\8@PW MQP4I10!',XR+CN8DS<+</PES
M18/7->WGMT=,<3Z#<O-\H+OPE34#<!+.JC'4KH14Y ^#V0)S3KW%0=7N97%(
MM6!/DJ)'H? !@B:>/XWIX.]Q["L/47!.:H)IZZG'3=SS0P Z6A)&/EP3>!K[
M<9+)SX=P.@V?T=VQD@U])+%'$S*>3\FGA^S.+]?S*()7--F93VJ'2^K:4JOU
M7&ZU*W.K6TQR<622RS'9H]OR0CN3#'..F)>)73(E5(+C5%)"A0\':2\L^XOW
MK*#=*?+/,RJ[7&*'+5IBAZFOF>#]TB$>"Y4?EOZ/=.7CCR3Y]/"%P/B^D\/:
MUO<'KFI:,@93J %T"= &!]"EHC'J +0)@#;ZJNX(FWHGO/+>WI[VKS#Z"P[X
MO5D4CD@<G_VV5CP  46!>?3>AA#X$'QF #A>%NB6Z@X&HHH".8!.H-HZ>H.K
M&M6:VK>%;8XA#VU;-[@[/_#C"1DKCV$X/LO]K:9,H^:D1@V91J9N'[UO9LAZ
MC\ Z7L+8 T/5+=D)L^T!2+KPZ.(<O2%73!?3UM6^*ZM;R*RZ$TR$J%M8U)((
M8>K]H_=4D N'J>>JI=FJZ5J=27&0^#\]_+M';Y*'XU]S!VI?:U5]K#+%9RUP
MM($$'TX?#?(#^YZ0+'IK['_/ K(^O__XYQ^%KNULGC$2<\=Q=NTAWF;A8D71
MMVB+P-!;-K)%("N\GBQTCL_#][>]JR^WPW_VAG??;K^\4;SIL_<29VA_H\ L
MD[6A3@B+*3-P#5-5Y2>-_@]^MZ'%I!]=**^YL_3;S1?N+-$YS]]X^<R>,HF0
M)C\EX>BB8@4%U! :@1<^*-=(U"")?WWM;<XBA>#*ZN?AD"%EXSM-Q#\.]X_I
M5LJ&<Z<)%WXNQ)+FAP"WE;\5"#Y-.W3C_Y3 _1?2;^&1HM'4</MA,/Z#1*,)
MC-V/R9\!@/8:8SX?@\,3AOOJ0-]4$]B:XAP5/BC/DUQ*PK?PH+9JVYO[P6H^
MC:H\DPCX$+!86G8[Q4N4$0 N!/G+$@S@A_%ELW&^S<46I_(_2[BE*2\DR[;-
M8HSCHB#C-O:FXZ*:MV87\^.9^S*>^3QC.V4\LXQG/C?,RY!5&<\LP2'CF4_>
M-?X[:KKXC_\TB\+O-'OU+#WD78T#-0J"O_YWJXJ?RYU'!,!'^)\/.0R4JIFY
M[?+OHS ^S*5G&*KMRL@QH0;0)384!(UUD0V.JIO2O]V];?5J[D_QSK'<6[L>
MAVH41(F5$BD9%N#C[*4(HL4R5=LV194M<@"=X$9!2%BGN6&I1E]8;LCC[-9]
M]P]O-/$#$JUY<.2FVS7!4A!&5DJP+("0_[RU,^U M0?"BA,Y@$XPHB"PK'.,
MT%U'=?2NMT,YQX/M#08$X=Z:A.%4'F8[)T4&1^ZK-RQ0Z1NN?DO"P^RKIB5W
MTPX-0#P>F+QHQ7UV4Q%XH*NVV_4]]!P/J?]-)OYH2N3NV3FI45!$JI34R%:^
M)8DQ4%U-6&^2'$ G*%!0=JH+%.BKCM'U/?,<SYV?'A[\$<G%Y.,9-'Z)$_(D
M]]'."9%C8Y88&EJW8EFNJCO"%@22 ^@$%XZ-6!*$"X:M:E:KW07E:?2P"&#B
MQ6023F684K?ER+%A2@L<"!" X:BN)8. .S0  ?EP;&B22'RP5:<O+!_DJ77K
MWHKY^TDT3\$9* "DQ^A,2RS+FGH\*75LG%,>8;34+<576V+*4&U#V KP9S,
MR30>TXZ-GQ**:59?=;2NV[';.VTW7?B2+C3N_ISJ,B=8#[-M2<(I.U<D&0IB
MHIKW3]F::K6TAYY)M<INH=,JB%1JWB[3MU3;;F??*55+4IY".:?0X6@T?YI/
M:8_X,9E%L*2TG)L\A9Z3;OQ+D9 YN#M>#ELW.6C!ZRG!%R!WAD\AD.P_]/VM
M,NFPQ!K74%U=**?3*\DGR2?3.K@Y7[M\,DW5$:MOURMYHN2>*&4KA9,O)6\=
MW-9OJU0XM+2\Y:"]2396D&QHCPT'MP.LG@V6IKIVJWZ.;K=9^/5^,;ZT.&1C
M)<7IOKG%$JOX :WD/U8>_, +1D298@P +?M=6!&>I^V5$M1W[#XTU. +TO#3
MPY\Q&<;Q@<@T++6O;^IO)0O;\_:;4@RK^C%,1^WW-^-JT\=(]NM\D"&M7/L#
M5J)YM3X^N\(L@A%& $F@VY@H\QG"XGYKG:]+):^GXW=70,6D+KX]AS\\G*J8
MW<>/X>XCE)ACY=E/)GZP8K11R(\9"> W\#[6HL?:]'@\H=:=.('_T-OCE4<A
MC(=,X-OP' CN\(E<*M\F^-I/?.#!$PQE'M%?X \"(%GY47JC$2C@>%M86/A0
M\;"72&_DQ1/%AV$4CY .$+_Z, V?8;8 6[!H2:A\#!-2M$JZEJX1#,30]-%;
M"KM897^.W]+1/,PC;+8 /V.@PXF+R*,7X6+145W#Y'C!"_O5X.WB<?!SO$)*
M_3FV85"&7Z^+AN1:1CJF7WT63XF=$OR%:..)V0JE7;89Y-ZA6X'N+M]@5?5S
MWTC"6=G&"]C.Y1TM]L_>9X^4-4HYOA$!=@-\]J=3V)L_!(D7//JP05'I$=_X
M\6@:(D;Y30E<;E."_7L2K.S8M G.$:N2[R>PJ0_055D[F<)B5'."7+$@YY6\
M;&TYVFQQ(>?!97$99\&>),,2E<=+-"D,3O0I[O$A5IZF0$$ZK38G.3T(!?,$
M9@>NF<EI+XI>4/QY3R@(44 _9K-Y_P+B<P;[&2563!ZI"$<YB;]\(5X4*R3
M+:O&KD2*%^$FI+#V*W$CS5>VK]+18N_K:$+&\RGY])"!=EW&F0/7OAU<#WM7
MU\9USQK>:CVW;][T;H>.YMYJ1G\XO%L3@'0@?C GXV%"-3O[YOKF3N\YUTX?
MKF#?]%Q[<-4S;Z]N#,.&R[AFW9U<<HU<!K*1B^Q;('3?@AO0D8'Q(V%Z%TB
MB 60#_BM@)XHT  O42)1PD%)ZIX1!!W">\\R_< V?J[?DX;EV;TI-7)XR89.
MJIV%4ZW /6 *%?[6YT6F:&G8]M?,F'0UC_V Q/%7=C")68FN="LO$Z*=:>"'
MQ6QJAFJ;[;1=/EM'6'<0S/,.E$/PBJY1.XQUVU"=ELH42Q@+#V.>=T@KXQTZ
M"I0NG-$-HYT0OZY''#<=DS0<_=_<CWW:*9HYQYA,PZL%Y!P3702C\%H(Q9@Y
M>!=V2KTVM8HB(R+CFWD$)Y7/\#3A^# ']\!4'4[K=@'$@<1T*YBVJ\#TP8I6
M=<!V+=6RVBG.*8$M(K"=4L!N&*9VWU4UI\L)8.<3(GX71@2>21G-HX@$HQ<E
MB;P@GC::^M7DV:J:S)/&I4 E"2?]?ENJ78JRZQ1DWY88>^_YP>\'9IHJ,5P3
M7J%QK1W#&L^JSA-!321\218UQ"*W566R#BI9.2H9ACK0-3'V[BU>*\FF$V+3
MH$(-MNYMQD"[@B NG&)N2+-CL0-7/T'=5C@!47AT=8N:*PGBLQT,;-6RI"%1
M@C8#+2_0H&:%[Q!U[IVE6ZIA"J+&"02G\T7NP<4FC@L74"UMH#I](66H\,;
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
MQ'#FRB0,0@]D9/QG:/D6=ATD$1]#8E-\@("DP4R R!H\48-YHH\[L"Y9G9M
M7]@HD+\0I!$TL_*(P@FOL&WWU7^_96QM^G4VK^>1JO&AB_%7D!_QW/IY/K5,
MDSCO8]@,87\<#M6NIH-FPN<OM[332;>C[-!$3\,F.FJKW]JQB>[>38#D_&4
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
MAGN8\@PNC%ZU7!A:B@QC(,DP=GBC+)!/"N0E \;)+G6-M!<BGNG%*K37J98
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
MC<0GC@6_Q9(Y^O05%'D<<EX+K.''22#M0DG_FKZ@MY:HS&H1/O5TN^C>4B7
M?@0EL!ROW.FT4UAW2(]EO>RHS&J9:JF3*UI41L>H#&^6552BQ!A/E3'@8=FI
MH6.(SD=BM!O1MF>\&)9M/#*Y"<%AHR8_$\BT3$D[->G$E^R3I6_&'"T0+3I@
M2^]U-+1#V/Z7GER5A;P!)WAPA<L4*S#%MIY1[7GN<^;I +<N5HN$(H<DU'S:
MLO&8 ."<.0V\<DLMOT*H>1JZ&Z9!!0UJ(5B8/"!BTF<FXZC-[;#AEJ\5#AMJ
MF?(F*W6Z=-CA7$ZX<&N6"H=+Z</?=#*I,GB@Q0TC!-6#"B58.S2C*-EZ?J_I
MU+%J1UHMT^AG.K#/SL^4M_0;HTCWK=AMH$PQ+P3[R[PUWG/*LVM:$RO2G#//
MHN'3QSG8AV8X3N1@3#STS=,6Q5) RT<\%&CFK1;ZF&GI.0Q):=\/3-C$]Q/6
M_-L<6:3.?L8D<DZ%2IC$M ,M["32(P4.X67A-O1J'GXMR/WJ.J;KT%#KH^'\
M<3N9@*B:^#$=8?V6]@9_9@N>>6<Q5>-9[*FE9S$\F*\X,4RK[^BR<#<.NK_
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
MZ16M\-=#&+\[_;ZJM>L)K0B$Z]H[( 6+)UA[IUZ)(UAM71VTZJE&%0C6M7=
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
M)EW13-C5W@$!<<\CZ"K%Y"L.]Y@/=%$/'6 S85=[!P3$/8^:JQ0;\51PWZA
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
MB(3YMP+SH;OTE+DM1X;ISBQ/:H#1(0"99TR!.C_+!0H\IJ?#$\XM8_#C]'X
M-$Z]TV_4];%PF]^()@5>-W&&U.+&:NPM)C,MP#::8#^#_W#SUX"5< UT6I]:
MILWL8E/XB+FY  :,9_HT\M].F9\[:;?$TCX?658A]K5BAC6O?!8WU<COW# P
MV(BX:X^-E;\'K2M8<8,[WE%.38P?-&J.8H"Q.PF-";1G!.4R@48%M?+'F?8T
MP!Y<F'G"OGYR "' &D2Z10O1&@1<&$9^ #0:;<-Z9=,?D;$),A*+R6)W+JL4
MY]*4V7-\T0W1VH6&K[?,$5O_A->!U6L#.Z&'WJ?N)'R^V,S9EGLFP*,Y,EE_
M&I#\HA3?-;T?IUC&#M.%^]'CSPXJC;_G]]H]7.Q2PPO<S*+]_U#788!P.G""
MJ2-<"V*AC9C9R$;*PPJ111N?)=LEA T_Q4//QKTD;RZJ4(?Q9^7")<OH$:MF
ME\UVDR\K]\&(!9T]0^SN:X1V6*<WQ#Q1-O60:N>?%GM B(*RMC:KMK8M:VLK
M5EM;#IDBES^+2.AI"(9Q^ Y$'=): HV9.GM0D1A"&&AIL?3RCWMG^>U*G6&E
MZ3"PJ,@E7XAKQSTC_PC%=&^V>8PZTRN?6ZF5SQN4/@O>!*V3O2UB,;Y884]L
M%;% \&=W-82MP9)L)TS6R3/LZIQ>/EV4_KBL__C.G@_0B"'UOY]@P:@+9,T_
M9(J+@I7EJ(VYO\912OVS?X&-1:Z8B14WHWAY]6Y6+VJ\'AO?BA.'TL\2^K23
MPX3V1SQ:U>EEEQ@MILG[%?2%^.DO[TM0(C5*&M@;#:B2!MX\#=2K0@,YI5**
MS91R/MY.#\)K='\JIDM+IF?NY"Q,T(Q\--S9-N^1BQ(KRSK4KLR3=1;8Z.3L
MOY:]M['C@V]2QK(\NJ"I::'RHN)/&Z<(;Y,AS'Z\!.K[ L2'YM:F:<):MZ8O
M)K3MB9Q*HV7)-KG8)BW+HJ@XY<&S36,QJB?91K(-L$U[A['L@V8;O5E+Z514
M :[94N%M-IFN&U=XYSCE\#Y6WP8H0^^/.; _[M0J*]T(7QJY.O09'?KSY8Y4
M[?G'LB/%2[E#A/0HN2>6?Q-+USE"S\VJ5U5,?<[9JF-]]3GM7)J-]>9(%8ZI
M""%I_2.B)CR^>*,#6*KCE"GC#'')#$N804O+G"_$!7-0S% 95XMDAGTR0UK=
M1"&.E8-BAOT<8;^<&:2G -]P9WH_R&):M50G]PT:.3N<5A TD*2^ $5="X+:
M##(:)V=JK=FH&&A(9M@+,^3L=7O,S%"O-1;[XTIF>(/,D+/?WC$S TB&Q;X3
M!ZU.'IN7TK!M+"(;FD_FD/*^\S+%K()@4F:*&3L.FGW37PTH_77LTTM!9K,W
MIL?YL>YS:'CCA1#_:570I#)"3_('XX\R<\DD?TC^.#3^*#-I3/)'J>EA1^+A
MO$HT;'!&48N^=ZQ_S?LC5$BK:]"N4<F='S-2+-:B >*!NA/U)(%\G00T8$/O
MC\/ 19HZ.6O5M,A9$Q[L70% D/2]-_K>1F?<#WUW)7U+^LY-W]OH?'NA;[U^
M>/3-%;H/HC?'!]9H)-8>)S;8_75L*>.=/0(;/,$3[;.;E(7',81-_+ '3M@7
MU+3Y[L</7*C46</8&>RX^_#$^3O>AZ<G]BNC]TZ[W-X[S5CKG69IK7?"L>0*
M&9!TZTZV8"D$AZO7>F$Y@MQ$QRI$YT(B-E6@08.DE&I12E@O>2H*)DG8&YZP
M([PDW4BZR4<W=U'#5&SB&+9Y1:6;O#-M$CK:)#E)<DHAI][CHTL?L2?--1"/
M:7N@8C)#CKS[+]XWTPD\4)LK1$+SKO5<+O0R5;2HTU"GG$Y#WP/?\V&/6--T
MUE-ZSDA2NV_0T5ZO5+!N_N@=\P_<EM!>RW$VVQ:-&F+TP?73#3N8*,VNIK12
M3AVJ@'OF6*AZK7ATQ4B\E8O$=]B1)$;H.S@06JO5*Y,2?XRD7UU 7^9[ ^H.
M?6\S0B_(H[Z2I".]/Z;VH]:O)5WM[4Q7>[>"GO9CH>=#AO).7BC?(81'!DFR
M?=0Z)REU=45K5*;X<0,C9I]^YAT;+M'_NNQMK&$8'4I#9=^LG]9+8S'"O&N;
M)=E<[F?7\;Q-SR+7E59S\8"Y"F" )/!]$'CJR9*9!+Z-Q>)MTT2Q *M%K6NU
MZI3_'W^SKX)I^R3+=QL_S_'(EE1N64%3KKRSO&P],SJ"6VJ:90CB=UF2.*VU
MP :J)J8O7>,ADL/+ "S&1RY+V;5>]NGK:XE236TI:K<RWN_W%2"HXZ;=+-+-
MUPB@)"4R).P=ZI%ZM]:I3']!J9,<M$YR/,]_,ULFW95S:J0X&;H\-7*MW*I=
MO#]O4E/%Q'CN<6=JJOE*K7?M%(T=1QY*^DU56:51%9_H$L*6ZNT^U=M.E=3;
M%+(O7L%MUF-U9U+!E=K202RIW#+I)RU(P<V32(SED7M2=_7]JKOP>C)T JQP
M/"Q]=_G ,^1_4UW,_RE+R2TN6UGK**UN5;7<DNFY0J^JEJK;U'*1^L%F+7=K
M]8K[;26U[X;:U^@74K6LY::>F;6LRZQEF;6< N6-O%!>[:QEK:TIS:9>1=0N
M/ Y0B8-K]_51&ITR";R:2)K6FGRQC=[!)(&WZXK>K7@6K*3O$ND[7VOQ(\D!
MU_5FK5T1/XATE!^XH_QXGO]FMDPF[\@<\*KF@#?3R@TWT#3+R@'7NDH7NXE6
M0Y;*))D]*I&M? =M'T\.>*-9Z\H4&:F3'-:2RBV3*3*[42-E#OA;R@%OY3L(
M^7!RP-M*7:^(5TCF@%=0O4TK<=R;>EM*#GA+KVGM:G"$U)8.7%LZGN>_F2V3
M?M)<.>"JS $_,'UWHQSP5CLEFZHD);>P''"]H2FJ7A%_[;[IN4*OJIBJF]+N
MM&#]=I\YX*U&3>M6@P4J1()O@MK7.!.U:CG@K:Q#4)NU*IX1>2ST?, YX.UZ
M7BBO=@ZXWFDI]58E4;OP.$ E<K$KG@.^/Z,SU%J!%&*V8L(4718B67S6AH,J
M/3-\V:3+@^"-!K!K+%XRJ"P\5E.\R&E'UAY()KE:[RI::S]-( ^3)O<^@ HR
MA;8N4QQR^KG6T6K:?@*-:]'+6WKK/OAAKY[^0]@420J5(87*YSI50RLO/9%>
MJB#K#"HKG:F=5N*Y@6)>4N*]JK<5O;Z?[.,EJUM&=I*D]Z)4[K2*S[VIW&4T
M;&_5NON)>QZ SB,UK<IH6F_SK9(4-E>ZW[HK?&]E!U500J8O\82UET,I22A@
M IG*?%H5;?E>]L)J$QI-I;6GXV:DLG_XRGXGK3)W;\I^*:4+:K=1JY9Y7"5U
M2RIYE5'RWN9;)2D<OY.]2!U_=16&)K7_1>4Y5NC0MX":#DCO3QEZEH:CIZ0Y
MEJ3E%U:<H;4Z2J/>J+[2(@=085T_K>ESL0K^/FLW.FI-/P"U7@Z@&ARRM-XC
MS?JM5KU'IYE1[]&H=?=1[W&8)%C" /96#;*!@&CE%1#5K@AIM)5VJ[+*DCP8
M8 ]%(4?<:FN67&:@2501&[BJE=O5JL'KI'4.*,DXC1'--L9IMZ,I77T_:"O[
M!AP,H:?U#2C5]HR1^TZ.1.[LI]+IC=195Y':ET<-&C4U-60@":#0>5:JT#Z#
M&AI*%WVWU2 (KC!_\/O.\!4_(2">D;\00N;=!OS+5-WU;W-#^]O<J&:#8F,2
MVBK^&=L6'&%L<-.L%Q:F+"?HXM^!YYNC5QA$CVG-&9N8IE'#ABK$ARLH>0:U
M^[^6RS^UF1&%^(.)J8?7*>V]F-[IU61J.:^4QDH"OE&NGV69X-%MU'T".98N
M+F\<^XEZ*/KPE=Z#XQM6_/<+Q_-O'/]?%%XS<!YM6,3A1B:XVE+JW<6T)+[7
ML-(^OAGFXT:O@>69C0,^>+Y";.KCMM"7*1W H/'U87Z(0EQJ&?BE[\!S^*R(
MPV5]C3R,*7L&,;W9[7!EGY+8*QU0 ' #X3OA=T,:PN4C4Y9]HI"Q\<0BB^19
M* VG!M<:Q!6,;-;V*.;?\I(VF2?;?'%<\15>IYXD*+B1X734:IUY].!;C3_C
M=K#M]G"XI\PKNKC;L?WDMWJX&.&.XJO93K$'$FH/X<J\[!H/XB^_)<;3V5=Q
MV4X,.W,$_ AXO' E-G1RY6 5 Q,]RW(&N,[IM'/U@G]NYG9K*5UUL8Y"R9Y[
MOD--#F#NC=;BJ7D*(Y*L^:>>C+%XZG"UY]\  TCIM!8+UQ&D/01?\XE:KPIY
M'IN#,4(R8K"++&S:P.& ISZ"+.4#\/!;GP&XS?)[&2QX/OS#D@@1<A$^7#J&
MR^'1<#U\IK4]ZQ"54&0^]\_N /P!@7'1&(%\_M _(S XK:[JGTCL5XZP!I,2
M!$4&+CS],P"H-FU8;\L2ZXUB\K,W->QP1HC^I^;+Z=@<#JG],21F]>3,'[N4
M?OZ %Y]QL(;I!/U_ Q&@_,5M?60-:B@?4?>3QQC M ,8$66$C6\E@/="%M?(
M!75]D,](3:EC!S)TD BL8,CD,B-;&Z0XDS@>$AXH:?U7]GJ;.;N0B!:OA L,
MGPQ@HJ HP.!M>!-\+T;XB.,*IL#!R#:&_9IXPH0:'FHF?+F,7 NF)1?L%!=,
M*!8U<IOV<!P-EZ PC% K0>:!^1BQN8U,&VXT82LG%-<,%F'D.A/!@F(+O$P1
M.C%>"9-@N!#\[BPDR])P[]!)PZ#K&ZA9DV"R %>WP<SE\VB[@X^QV3.X8@@(
M7PY@$T#]BE#J5%L#IA<AZB>DRJQI921-Q*=EO.QI6G54-=+FA5KVF)J@-@%J
M@"*]0.V<>YBNS*$K?H70;D.U*X^BPQ\B6'* 7.#%5+;\3P".<(+'\8H[-"5Q
M2Y+OUQJ]NO7HU;5'KRLS)7*KP6M;#UY;>_"-6NP6M+1". 1X!JKTJ9<3:)]-
MR^*")X*TJ>O\6QA[$8+%;N>6W<@ LG["^# ^/285Q J AC&D/G4G)@)X]&P<
M%(C0'\ ,T<W^;/A_\\+!B6L92A)4/V*O37O X@A@<O@#+$=T$7\:#,V8.*[/
M[$^ 'J'SS$S1F5F)"P/('AJS,7LIO"EFRB*UQ,7CC,'9<H26M-B@A"G-B!"N
M\5T4P<&4BSCQ]IBP8=DHL1OQ&_/)]%^EX@6#6-"KP@7DJW_*=\2COF_A)0%(
M8>0!);':2IP>@3W\\=BQAA%=XA>"\D!-,^$OU$B$6D6%4>"%BA69<%G+5.?
M=US0?XP7XO1AZ(R.E!!^@.V,5\ZT \,;AT^$JYGO(_#'#C"_R3FC3\>&-0JI
M.GIKC5P#88Y&P+S)6;AT&KB#L>%Q6/ B","7#RS#\\R1R7^;8/3:=YFN\\J7
M,>$[X"LPIM80%!]8S0RYW4X[DV6E43W;1*8Y+XCSY9$I[]8PT7_R8+S\4VP;
MK!U\D6YK;1AKU91Z?=&KIF0N1+X#Z@]K(3IUI=G1E]C;68N1UMMBI;E=\<5H
MUY6VNLS7>KA^LWGG =['N#XASQ-R6+@,Q2\"?U%^1R[(*0\,>X#H8"H*BS!$
MJN6P%Z[B(L8F$=6+>Z47K%4Q(KZL;"I9KJ&<I9EKTFJ*6T@$R[T[/O0'9UUJ
M7<=1IK643DJV2+:7L)/6&G5K#-O[4K0535L&8IG+D=84<VL4V_=RM)66NK@:
MQXABJ BZ=&1Q.P=4'B,T=A!VA%+-5)T<CE#4UT:6\^RMTL(+B=DN5[IAW^@+
M\\#Q+\CGH?G$];N_G]S^?//[MY.T$D_T>U#W$XE"]_6?4O3OA"(_-P_<;_;"
MK/UH=?BV\9%]@*&%?X^CU-';WL]7I^=W5[W?3GM?'J[N/A+#>@:]."Q ^TB
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
M4#PK'.<'/U#$^#&(#1@* %-T-1G1F;# +< 7#,5^"F44-]\+)<^38P6V;[B
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
MF9GZ^+PP"M5:[BR"?V"0*,WS2(>5?L%?#9M+Y3H7RV+9V!AF<'#M.O:SX_[
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
M;H UCG=V<X0P2!+"8#DA7"0B_W>1R^V+J /X%62/-S2%B<\DRZUP"ES;F'C
M?I"DLU-AMM/7"JD5IR$TV/6(A,2G! 7=]NX>R/7U=;D;7_;2I#*76D\P%WY<
MPEQJ'9E+>,&515\']\5?..Z4^9;(SZA5L<A&]?BI!)]P>KI _Y7@BL*3F$?2
ML-##\1JZ2T.C2T0>N8$W^,3OF/E:PNKRN/=E]JY>'Y.9,.JYN$7\AN$GS&>Q
M+,Q<B,P]H=7/RA!N7>?EE=R'[E&>A<_LPW"+H^'V6?P)?;0#6F(&:3482$TR
MD+J<@=1:;$O0B*>V5U%=99\,PGQYN)9'0:3[U9U4+4F=VG+JU&IAIN4K^?YL
M UJ,S2DS243(^IS:%&"$N;#9[VRUOR7CI'>4)SS>@UGS8^Q8B&/?6'E0!=6J
M2E!Y/+8WRSC!2B[\)I0!L238WBPVC#DWUYX7L. /CUU<P2O\UP2\D%O+L#TE
M!/^C8*MJ8+^>Y*YYO3+&77HMXB/&(FAG ']Y":9YB&55**(.ABM<(.%#W[+4
MIZ2XV!E!-Y($W5A.T T,E\/"F5.0![/:+/*%BNRG>U;1*4JU:,GHOP8\2-HM
MU.BN@K7?2%C[\T3,K?U_5 ]%=\C7S21?-Y?S=1.-E+'9-T5RW2SV-2.]L#%:
M=9FZX->^,]Z_4]^GK44%M=HBWW<=@Z-;X"7^_NMK'HJ.*@X^[FT%MNLWTFW6
M&C]]BN<GU;=K/R*:H+ 6%Z)NW'>CXO6EK3MX!_Y/?%"=9JW]4[(9T<H'B![^
ML[A5HZ;_%$;23OF/'PDKN&-9X>Q<@+I"\+_OEW<-*1RD;\%63+8%":OKL3G(
M&BN&S4Z2RU7D%,(5BWW#HJKQ2WA0-?8%#"F59N/D=1JV2XGZ&' &BNCRU*.#
M4[@!6^!]I!R(64<O7K );'<=RS*YFV69W/(LDU@]/&:Y(+C/KW5>.N0T5!9M
M&&%DUG<&(BB=7*$SO94VF[=+.7UO%=5<Q&M ^KP](_'&%-/"E^4$HLR'/]1C
MH!Q8H3.]*ZDF3C5H+V "WAJ4$RO/$.G&+AU3V^-IX2R/&1U1K]1PEZ;QL/]7
M0^JJ'P-UB94\:Z3.YNU2&&4>R"THS)OYCKTPR9'PI[Y)0A,+>M9(!>6W2VB#
MT38P9GAC,K*<YUG+L;=&5[!^9PU-TE2<IFS'IROUJAN\"!-,5Q;9'@.9\"4Y
M:^@K*"5L[<A;-\7:IAZ=5T1XA+14C]"^O&.E+<+,M=VSK#2J)UZX K$$<H>5
M_6"?"Y-7$=.9)WRN<0[+C,'ND@.>%>N&7TZQ^R]V'K"),>$-C[T 4UM,_!;X
M43R1-S/RO%AU;#@DEC >5MHM[>H1KX,0)5"KZ^E1--@<&= /[SM[;:967+IX
MJ;TM.4*V-8$HLYZ+^VU<N67?RKVUK8RE;[^%WI.(ROK[*(!Q] ",L<4^Q09?
M-(S9H&;S@@"&H&69WJQ^-+R"MT/ OF]#!,-1X-J\V).5N+)^[;&08CR6B)4S
M#O?[]VP[B.JA$@V'RH@%+&V-7D#[\3*C 8 VV&CY[R?:"7'!%&%_JR=+M,,%
M)W^]*B[^6"_(D/7Z+F+G38!&5)K'G\U__3EKVT9&.IVJ+%H\+G))O8%K3A/)
MH&6\.L8^^<R_.,4N67"T!1,D*OA/:!K\B&:MIN;<O_CCUM_]^-VX]3%;;^S[
MTX\?/CP_/]? S*L].D\?>NY@;#Y1[P,=/AKN!U#VC ]JH]UHZ\T/H ZH=?B[
MU068J&M=O?W!T-1NNU77_D-?3O4_U-K8GZPR'7NNBU643$WNA:UY"=<JN4O^
MQGGBG@=5N!SZO-$/:+P VZK>:&F:WB 7AFT,#7)M#VK8VMVF\")RZSS#C:(S
MO")^I ,'-'#Q@67FC V7BMQ, '"N5!LL*_D^;,/^]>L%>;=<$( 8$)Q.8"?G
M"I/_YI$+=N"&/R\?.J>_"<$3M5.XO[K GZ-9"T?+^QJW-G=$DPG.3N@Q1:4&
M+>.M,DE]X?:B%U'T:N;_:#7M %FZH;?;C:Z&3F:]U?Y 7_YHU%OM1B,/,R>.
M4F#P.L0V6,R8_,B3>2T331'@>^#S(>-U;%  K!UG^6_&:\S/"+RU/DHH58<)
MM5[30ISX'WY$A?6:HC_^SQ* Z 6/H/21#E\EA =V1,6.46)CPCQ$]M7_>]_\
MB]S7ZNI=+9<H#5DJR4R1YU[K;L51>V,H).F:I.GMY?HNLGRC_W73G![P?AT5
MV_V)_#*LO+TJT ]CTQT2QONB4_(=ZYT#'[# PARQ!NL\42H42\(/''+K+\""
M8(]X(ID1^#.G#-,75-U9#Y[E#I$HOC@R\614%F9,CS+6NZ':NTM[3"+ KA%
MDPBP0M]6@>F;NMX%?5L_S6<XIW'\^:ME/'MIO$T*8NNU#=G9F6XM9&FU)5GZ
M\%FZ(85Z+J%>USI-)M1;]9:.0KV13Z@SGF+QJPEHV[QX."'.\S%R8\;(/#-:
MR/Y9;#[DW_M3=0G__FK8C'VU)F/?NF3?8V!?*9%7>L#@3[VIMM #IK:U3K>3
MAW%C<0O6T#6J4N=+EI=M(\]0EA:=+6XYOVJ27X^ 7]6ZE+<9# L"M]7LJCK^
MT] _&"JHT VM 08T?5'KPUS.LPN7#LV8*TPAES%?6,15S(6F:@KI>>DV=\R!
M78]=^R5P64.^5?<PLU?5%>%ER_2GA3_V9@<BL'93-=Z.U\(WN1[KS_T:IF I
MY-?;;P[VEL831CU*S@W[AT)N:KT:.URF-YR8ME 4G@!^'L/*:KP.1]EC+7\-
M?@O[Y6>P,+#=_KTQ&'O\NM_O>^QIWJL]1'V%]0QGCUK#-R[ZQ6]O@?P:V)0T
M^,*^%\Y$B8:%1J]QP_;M*]_&]FZ LJY^0+3(9WQ_,5W/)[,8UGSP2F5A&;7)
M7.V+T#+,A!8\M# &$VX6M,!W(P$MJ^[9([2P*261Q2@867BZZ24-?,QLY1?'
M>@3Q:8GA@?EC6_05?K=-QP5LMH?L3!'F(L''_!.3HL@7D%?.W"R&SB#@W2;X
M2S?&L[]YVT3]VIR\=IX4<,Q 5@FU3I=J7?'H#.QD&0/NX'B@P%!?'>#Z=+1.
MYMF@C[)"FE=XP!<5!R +T,'S&X;\N::='X+4XE2J:-5TZ=,](C1J2#1:A4;M
M>KU;UQMKH!'P1YNL TE,@>3:6EO"41XX8BO&_=-M"45' 45-"46KH4BKPW?,
M05U7.UH[+QJ=:FOA4924T9&8E!^3HE4+H5P"TU$ 4TL"TRI@ZM15M=UL,F!2
M6XUZ7C6ILPJ6DIXSYM?EF-0Y:DP*<W$V<GRKW//=D?!S%/#3EO"S"GZZ=:W1
M:'#X:;4;S6Y.^.FN!S\S <^=(%V)09EJ$$__DQF].XO =0XD L=8=2'=!DP8
MO<W3;;2FWNG4\W#M/<5#HI=Q*+H%M'98#\;B8]'QFP-Q^$#E@G.SYXL3HN=B
MC8M3G 4;4UXH'K(6LJ7XQ)<^.(]W*V7(,_=6YI-76ZKALU.,U*PGYU8UYY1,
M>YC]W-PR9"?2@T,]>R$VI\; YSL,6M*1:<]@__V\="D^6Z0HN:-M+'<8[W=*
MJIU^B]*F>R#2)KVVN:5I3$'4NZK:;19<VQPKR5IBM<Y*,2.I-),,4D9)&;6-
MC-J-?%HA^Y9I8O,ZF!1QQ;IW."=KFJS_WYFD4^N5Z /0;G5;FR0GSHD?4<XC
MVFOH"H]X2&DCI4V5I$W6@W.*FG1QE2 W\< E^MJ"IO9&9)>TE@X\1J#*8J&-
MBX5R)IC.>CLOD9-)&5:JC*U:$**H!/]]9'$D:H=DY.(HT%'6/J]$1XWEW#<!
M';5356_HC75**7\&[#)LGU+&XQ>.A8<YNW@J[N[A+M'N)!/H,@$RQ&DOZ'OF
MT#1<U-5B7552;F(CW4 ?V\ 77DB^K!!.FD2UXT U64FTL<ZG;U+R"<RY&N@R
M5,(W@UOZGK2QSRN/WXE8K+ NQ\=W\(@NUE(>/'(T!X\<\)D0>3WYN<\SR#ZA
MH019FG8:0QHOKS.CA<,3CEKQD46+&YMSN12?;%_5VKXG/''GTH&U@)4E]W$]
M!0_GX<\]=UP7[_50Z*/\]V ]##]P*9D:C[,#Q3;U9"WQ2"US8F7TM5C7B:4L
MZR_!+D+5T?.<@<D^L4=<BH83_"%KJU[29)0FXU+DE#66&YN,N8[#F#OC(K<Q
M*'%SS[C9D $$B9O+<5.6@*ZLP6H"@C8:^AIM,I)@J2T6<G2CG)ZC!,O=Y!06
M@U]JLMV8Q*_#QB]90[IV"7NNP&<\,8W.G\62:45S+M/6J&5'A#L,8,N.+=S'
M5+T8$I:EZ6U>8"2+Z\M)OCZJJM9VKEKTK".=5CKCUBJV. (4V1I$ML:0S2LX
M9)'B4>E57:E7;1J)R.5/6S>QK,*)8JGH5T"R14-Z_"5"+44HK2X1:E./?ZXB
M\:-.$ML59C6EMUUBUG+,4O^O!*U51PUJ]7JCTU4_&)I6[W3;C?\,Z4AM& A9
M?[4,N+JN_F%,I]AJXN4/8Z6>E7IV:*H]BB<"DBO 'S#MX"I@5@2 6\M8Y:WN
MB=&07LC]EU@&:?+[7>?E-7E*X?U@3(>!A2Z7WIR.L^RHC*EK6L(<!@U&@L$Q
M@($FP6"C<T?5^A^M7-E>&6>"B[,(;ZD[ BEL(".?.W;@Y6'WF+AO15E)\DQ2
MR=T)[M8E=^>)3'5;HNN[UE&[N2)3J;+[:C*UG-?T(N:HX44SC$GUJ?],J1U9
M"?BHGN$R;GP<CJ@U+"(^O<F96-%86S(8<TQH(!.[5XGZ>A?^TKL:$_7-EE87
MHKZ1JWGJ[)!Q>V1B*8<)P_-?P:YW[%/D3.ISIP*R^K7M4\NB Y^I *XSI1C-
MF?DP\GLHZUN+_UDW'F;JUV5/X2/A^*:4_YMJ]XU\_DG!\L#A?P(CFR,3V.O>
M=P8_R'=^:'GOV<#8\P9\W2Q?K9<EGD64>#;$6LH23UGB*4L\98EG]?2"EM0+
M,OP"[$\, 8!B@!FK8U '<OGZ0J] J!6@9\ U!WZD$\PK ]/ ]0*#QS5%B\?-
MO/]I-8J;F/X8+>W(%(5CXO6VY/4U>3U_+6*,U_-; +M@^H9D>LGT,:;O2*;/
M<:Q97=>[;>;XUYN-9J<J;,]7/W_)1<3\(J"XR/G+TGNB3H&:/$SLJ/B_*_E_
M;?[/54JR0Q5_7;9O2K:7;)]@>UVF(^=R]]>!ZUF$K]OJ"G=_,]])((+K+TV7
M#GS'!0X>THD-TC\JEEK;S]]4"_/SBS,O2DG?2:TOW(;#BWW@&V)Z>3C!QDR?
M*]<G9/KO(V!S6@S/:Y+G)<]OP?,R;7=M_;[=WD2_CR?GWH\-EY;BSM.Z4K>7
M+)]D>9G+F^<@VGJCWJFS@VCU=K.5*VTOO3H'<_9X0B^E,WV?9?'9'A?7MXYE
M#E[7--MUM0#6UO@9:N]KX:Y*!C]\!F](!E\[67^M$IRT.MRK%SH(F(2^&!OV
M(R5XF!C,R74LP=\*H:,1<#]>,Y_%OT%?))F0+SD^Y'B9GKO:= <M7FLUZEB)
MJW>:#356B;N98&?'J%:ZPE8J[D?%Y3+9+H^MKJDM365RO55O=7*EX&P<@RL8
M&-(*\;82\TT) ,<$ #(#;WT V%'US;9(L&Z,7L*!A(-Y.)"Y>>O#06L=.%CT
MV?]N8X_7O6D%6Z7D2Q@X/AC0U)KZWV\%!8"'&WJKJ^7RU7TU/1^YY7Y)+[W%
M-CJ2&PZ>&_0WR VY+-P+Q_:8-VE$+JGEF+Y/R?\Q)C#^!R<8@(SX^O5680DI
MZ)KBG1TQGP2DT)#<!GW+Q&Z6 R< J64_DB^F.Y'\<O#\HK]%Z9'+(+S H4>)
M65A3/C;I*!;D"7.XXKK?/?SHFCX*FJN7 8\"]0; 2H%%A9Q1=>-4;;PSWK/6
M+6ISR#\I\\_!U_([]'ID^]T;;M^PJ7?Z_<6BK^S1\(M6KVN2%X^!%[4WQXNY
MK+$EO/C%M,$P,PWKP'CQLVR-4D!KE*982]D:1;9&*:\U2M$2XF1+L96W,TE1
M./)I%TU;"AS</KN_%+O&N=O(5(XD"QS(OE4R#<RC;72R?5'VO'*W^SW9J9:8
M*]]^(XM-[9#?:_>UBUI2SU/U9IT=GV$,G:EPR2<NZ-9;Q1AE1\R]6Y7S5& 8
M!3/.*@.V<I2P6%%5X&H M&H(K075>ATAO2R@8*ZN(AO9RF6@H"3['90X5F%D
M$B9WN"MJ794@F3&.!X">D6-9SC-&I481RIDVR]M@(#ARG4GZD099=5..R^X9
MF1[,A+Q2PR6\GO.2#G@6!3\+#BNH\A59Z0KA@T(H!1/RVK9,FQ+ZOSZU/1-=
M'^>!!]]XGA@13NFK83\&QB,E[\S_/;_[^OXC_/$>O3C, &7I(N>&)1)4*/4!
MK/W%(3('Y_RWZB=XUOS#HKQSCWN+)E.7CG%\H$!?VP-G0J.E^<*7YE^P-!ZY
M6K8V"V]-'4N=C25[,"P=;^Q8>&3QW\)$FIT-YBE[80QO3+X V7D[&P$,X,;Q
M\31G)SF2F2R?C:EV0(!9 122%L:14<*^/45J?9LC48Z0%DMP$UTX,!]RB\(1
MCT!!0PBEU*7A&X"1($[?(:8.AT(T@\1%F!92%X4I@]X!O-& ;YA(GF5:JN_Y
M?NY\%G]D_&=N"+L("_XW)YAB_Y\M_Y",J4MQY6M%+V7HBH]]P[1<O5G39U_Q
M(&7L&B#WU$V(!XU.Q3-@90I;&O(E<&W3&^]G2;9?$+8<_W<GA')M#]%7 =.%
MB0(GLW1J9$GD9@*:U2!LD^" (CW%7&GXTG!=C.?CQ;6M NV[8NJYP.;N/>9]
M=!>9P[^?F* 0JJT3XIL^OC#\*&++<.4'X^P:OA0>GA:++?7/:D3\,;. [H,)
MO/.5!Y_*FDC9"W?CV+26_;J%%(0E&0M/AFL:P##$1B//2@:_CR__HB7S+XXM
M_V)WW"8(CP'5_?7/-[V'W^^N[E=#2U'Z>^G($I>@>HL-X':N2,BE?P:F&W-O
M)%WO*.?4YKOA^\C#OB2A#7Y6NWI#230!A->,#8\, ^N5#(S  ]4#-& /7LI<
M73"$/B4>#!=^<&QBPA#Z=&Q8(_3QXX. TZC++V!/=FE@PUWL@4;@CQT7EF&X
M"CIWMGT'D"JTVOY"\XL/J)F17[O:L!9Y+/%'%4/@";GF@5"S3@?&U%NAB^!H
M$]B+].BAZ_-C,)U2=V!X-*6G1KP.!Q^Q3CISZ>N[3C;R-H/+,:!&K5U2]N[Y
MZ\=UG!QSZ54-,*S6.1RL%'GTP?M \A)L\DCE<HDT/QUL?C_;GY+6?7XMY2)N
MHDR9T4!-_' Q-DPL5E:(^.+6I1X[/IAYNI;E0[&+B[*B#U9C.SF[Q.C*Q\6P
MG5110Q4UIQHZTS-1!^WCT?1"U>Q3RWD.5<Q9W!8PUG-LCU$IP(+01.?Z6L.P
MA L7=!!0[-@0Q!WX[9"YD4SA4)*JZ5:J*9F8PZ$U,]%UG0GO%&<"=SXMB- A
M'3B\%_E';DN@U_T3.3F[AYL-/W!I)$ 7T\8CE4Q=&DO:V?@>T'%6T;$A0J4/
M;6V)*<;(A\A'N%)!7CKC/3QL[0GGWY7\*BIHCWF51[)$>]PE<<WT@4Q%8+>#
M2!&G!5-M&6&4^"5YPBAB^HE BD#D;-5W&R8I1>D46N/!C3LFI25N;H^;>S'C
M2^#.=1P"_W+<'Z17(W?&([67^ ,JSQ?+\L-!4&PXE[U)AW5>/+=WNQ7#N,*Q
MYBD1A.[RK=MS?G6AKMQUD BX% '[U+:I[Y.)XSX:!PN!7ZDQC [F.&;0.Q?;
M]4ULUQMB8@EF;Q;,OO7N+JY[Y-<:Z?WCZO+[S<'ATUN IF^&"^HGVZ0G.G0D
M.$EP>A/@].OW7V[(98V<?__GUVL)356$IE^=L<VVR'FV3 E,$IC>!##=?3^_
MNGM NK^\_E^I-%42F>Z</MS,]LA\D3J3A*:W 4W_O/[Z];KWC?QZ=?/;]<V]
MA*8*0M,_3<LRC0GYE=H_3-M[4RPIH>G-0E/N7&)[Z,+X?ZZ1K\9DBM45[J%Z
MS]\"FJ5NUQOB9(EH$M%6(-H-*&0/=[T;<O/S[_^ZNI%H5ETTNP&][ $VD=P\
M!J^;9#\<, =+)'NS2';9^\?U)<OYZ7V3#JU*(M.E\02DQM*R)M*?]2:!2;PL
M"40<@M3I2]01XK!SP!&.?NL]_'+WKQMR]_WJ\NJKA*-R2PCF!-WQD-9OAC]V
M7VT8%!U2JTBRJEAB^MH;60DPW6N6/BY.VL$EJ5S'5*;OWZYOKB]^(_^O=W?Q
M_>9JMWP^@Y2#09/HQ2DKG5SC//-W)J9M#GZ0_V>X \?>H#!KOZ3ZN?Q^:PPL
MD]4]^,)8+ZBOO?N'TUE#JM1^65\>[J(^4+$?QJ-3UWF>=3E-_H1EO&1UKZW-
MVFL1TFZ'KYVUV$JTVYKO&P5_?O[ UO\OGS^,_8EU]I?_#U!+ 0(4 Q0    (
M &."5E9 /M,[%-\  -<] 0 +              "  0    !C:&%R=# R+FIP
M9U!+ 0(4 Q0    ( &."5E9WSS+O7P<  $),   -              "  3W?
M  !E>%\T,S8Y,C,N:'1M4$L! A0#%     @ 8X)65DV 4!_6 @  0PD   T
M             ( !Q^8  &5X7S0S-CDR-"YH=&U02P$"% ,4    " !C@E96
M,00YE60(  #Z/   #0              @ '(Z0  97A?-#,V.3(U+FAT;5!+
M 0(4 Q0    ( &."5E:7&C\:6 @  .@\   -              "  5?R  !E
M>%\T,S8Y,C8N:'1M4$L! A0#%     @ 8X)65E_';7W8!   XAH   T
M         ( !VOH  &5X7S0S-CDR-RYH=&U02P$"% ,4    " !C@E96P$S1
M@-,$  # &@  #0              @ '=_P  97A?-#,V.3(X+FAT;5!+ 0(4
M Q0    ( &."5E9.J\#@40@  'PQ   -              "  =L$ 0!E>%\T
M-CDS.3(N:'1M4$L! A0#%     @ 8X)65L999^3U#@  0G    T
M     ( !5PT! &5X7S0W-CDV,2YH=&U02P$"% ,4    " !C@E964R+G,KDB
M  #[O0$ $0              @ %W' $ 9VYR8RTR,#(R,3(S,2YX<V102P$"
M% ,4    " !C@E96IFK!GMH6   <<@$ %0              @ %?/P$ 9VYR
M8RTR,#(R,3(S,5]C86PN>&UL4$L! A0#%     @ 8X)65B"14DZ\@P  '$4+
M !4              ( !;%8! &=N<F,M,C R,C$R,S%?9&5F+GAM;%!+ 0(4
M Q0    ( &."5E:SC_HB(;X  #=)"@ 5              "  5O: 0!G;G)C
M+3(P,C(Q,C,Q7VQA8BYX;6Q02P$"% ,4    " !C@E96A-YIAE.*  !$/ P
M%0              @ &OF ( 9VYR8RTR,#(R,3(S,5]P<F4N>&UL4$L! A0#
M%     @ 8X)65FB,_1TM<P, HFHN !0              ( !-2,# &=N<F,R
E,#(R,3(S,5\Q,&LN:'1M4$L%!@     /  \ G@,  )26!@    $!

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
